是这样的,我发现weui这个插件也是这样写的,就这么搞了
原本是因为有一个清除输入的按钮所以把input属性上的value绑定上了inputValue值,
你这么一说,是可以用一个clearValue值绑定input的value值,在点击清除按钮时把值setData({clearValue:‘’});
然后另外开一个值存放输入内容
data:{
inputValue:"",
clearValue:"",
},
inputing(e){
let that = this;
let value = e.detail.value
that.setData({inputValue:value});
if(value==“”||!value){
that.setData({showClearBtn:false,inputValue:value});
}else{
that.setData({showClearBtn:true,inputValue:value});
}
},
btnClear(e){
let that = this;
that.setData({inputValue:"",clearValue:"",showClearBtn:false});
},
<input bindinput="inputing" type="text" value="{{clearValue}}" confirm-type="search" bindconfirm="inputSubmit" />
<view catchtap=“btnClear”class=“btn-clear” wx:if=“{{showClearBtn}}”>X</view
但是这样又一个弊端,就是我每有一个输入框我就要用两个data值,一个用于清空,另一个用于存值,如果我的输入框很多那么要设置的data值就翻了一倍,对值的控制操作也翻一倍,用起来很繁琐也会出现纰漏的。
但是看来目前只能是这么处理了。