在编辑器上,尚不会出现这样的问题,在预览模式下,苹果手机上input的输入的内容会将textarea的内容替换掉,具体重现方法,在预览后,请退出微信应用,是退出整个微信不需要重新输入密码,只需要关闭微信包括退出后台,然后再次进入微信点开微信小程序,在input输入内容即可将textarea的内容覆盖的BUG
< view >
< input type = "text" name = "{{input_info}}" value = "{{input_info}}" bindblur = "bindinputValue" />
< textarea name = "{{textarea_info}}" value = "{{textarea_info}}" bindblur = "bindTextareaValue" />
< textarea name = "{{textarea_info}}" value = "{{textarea_info}}" bindblur = "bindTextareaValue" />
</ view >
|
const app = getApp()
Page({
data: {
input_info: "这里是input" ,
textarea_info: "这里是textarea" ,
},
bindinputValue: function (e) {
var value = e.detail.value
this .data.input_value = e.detail.value
},
bindTextareaValue: function (e) {
var value = e.detail.value
this .data.textarea_value = e.detail.value
}
})
|
在1.9.0修复了,请问还有问题吗
麻烦更新到最新版微信试试
你好,按照你的demo并未能重现。麻烦确认下是否在别处setData误更新,若问题还存在麻烦提供一个微信版本,基础库版本,系统版本和机型
应该是还有这个问题的,我前两天遇到的,1.9.2的版本,需要在blur的时候异步setData textarea的value才能更新视图,data的值是没问题的
嗯哈哈。。我没注意到官方什么时候修复,
补充一点,重新setData最好单独写在timeOut里执行
近期版本解决,目前还没有,但是有方法可以绕过这个bug
@JohnnyDan丶官方不是说已经在修复中了吗?
我按照你们的步骤复现了,
我的解决方案是在输入完input之后顺便把textarea的也setData下,
如:
this.setData({
input: e.detail.value.input,
textarea: this.data.textarea
});
是的,我试过这样的场景,跟你一样的,会重现这个问题
@恶魔果实~ 我们的场景是表单的场景:
多个input (A,B,C,D....) 只有一个textarea
只有在填写Ainput 的时候 textarea的value就会变成Ainput的
填写其他的不会。