input 组件 bindinput 和 value 不能共存吗?
发布于 5 年前 作者 wsong 5867 次浏览 来自 问答
<input bindinput="onInput" value="{{value}}" />

data:{
    value:'123'
},
onInput(e){

    this.setData({

        value:"test:"+e.detail.value

    })

}

我原以为会跟 react 一样可以这样绑定起来,结果 input 输入新值 e.detail.value 没有变化。。。

那假如我要实现始终自动在输入的文本前追加一个 “test:” 这样的需求怎么实现呢?

1 回复

小程序本来是单向的数据绑定,你这样再设置回去的话,就是一个猫捉尾巴的结构了。

至于你的需求,我有两个建议方案,供参考:

  1. 把 test: 这个前缀显示在文本框的左边。
  1. 程序先检查文本框里已有的文字是否已经包含了 test: 前缀,仅在不包含的时候调用 setData。这个方法我没有实践过,不一定管用。
回到顶部