收藏
回答

关于input输入内容会将textarea内容覆盖或者替换的问题

在编辑器上,尚不会出现这样的问题,在预览模式下,苹果手机上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
}
})


回答关注问题邀请回答
收藏

23 个回答

  • 黄思程
    黄思程
    2018-01-12

    在1.9.0修复了,请问还有问题吗

    2018-01-12
    有用
    回复
  • 黄思程
    黄思程
    2017-11-10

    麻烦更新到最新版微信试试

    2017-11-10
    有用
    回复
  • 黄思程
    黄思程
    2017-11-07

    你好,按照你的demo并未能重现。麻烦确认下是否在别处setData误更新,若问题还存在麻烦提供一个微信版本,基础库版本,系统版本和机型

    2017-11-07
    有用
    回复
  • JohnnyDan丶
    JohnnyDan丶
    2018-01-12

    应该是还有这个问题的,我前两天遇到的,1.9.2的版本,需要在blur的时候异步setData textarea的value才能更新视图,data的值是没问题的

    2018-01-12
    有用
    回复
  • JohnnyDan丶
    JohnnyDan丶
    2018-01-10

    嗯哈哈。。我没注意到官方什么时候修复,

    补充一点,重新setData最好单独写在timeOut里执行

    2018-01-10
    有用
    回复
  • 红掌拨清波
    红掌拨清波
    2018-01-10

    近期版本解决,目前还没有,但是有方法可以绕过这个bug

    2018-01-10
    有用
    回复
  • 秋子
    秋子
    2018-01-10

    @JohnnyDan丶官方不是说已经在修复中了吗?

    2018-01-10
    有用
    回复
  • JohnnyDan丶
    JohnnyDan丶
    2018-01-10

    我按照你们的步骤复现了,

    我的解决方案是在输入完input之后顺便把textarea的也setData下,

    如:

    this.setData({

        input: e.detail.value.input,

        textarea: this.data.textarea

    });

    2018-01-10
    有用
    回复
  • 红掌拨清波
    红掌拨清波
    2017-11-20

    是的,我试过这样的场景,跟你一样的,会重现这个问题

    2017-11-20
    有用
    回复
  • 秋子
    秋子
    2017-11-20

    @恶魔果实~  我们的场景是表单的场景:

    多个input (A,B,C,D....) 只有一个textarea

    只有在填写Ainput 的时候  textarea的value就会变成Ainput的

    填写其他的不会。

    2017-11-20
    有用
    回复

正在加载...

登录 后发表内容