场景描述:
页面上有两组input,一组为收货人信息(姓名,电话),另一组为发货人信息(姓名,电话,身份证号)。我们做了两个suggest功能来快速填入历史收发货人信息。
问题重现:
先用suggest功能填入收货人信息,此时recever_name和receiver_phone被赋值。
手工修改收货人姓名和手机号
使用suggest功能填入发货人信息。此时bug出现,收货人信息被重置为修改前的值
原因推测:
当用户手动修改了某个input的值的时候,对应的value没有改变;此时用js改变data的某个值,小程序用data里的值对页面进行了重新渲染,手动改变过的input被恢复成了默认值。
代码如下:
if (that.data.suggestType == 'receiver') {
that.setData({
receiver_name: e.currentTarget.dataset.name,
receiver_phone: e.currentTarget.dataset.phone,
receive_customer_name_focus: false,
suggestFocus: false,
});
} else {
console.log('到这里了?');
that.setData({
senderName: e.currentTarget.dataset.name,
senderPhone: e.currentTarget.dataset.phone,
senderIdCard: e.currentTarget.dataset.id_card,
customer_name_focus: false,
suggestFocus: false,
});
}
麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)