最近一直在研究小程序,其中也有一些设计不是很人性化,或者是我打开的方式不对
其中一个问题就是,聊天室的点击send按钮,发送信息,同时清空输入框,然而,小程序中却没法直接去获取到指定input然后清空value,只能通过间接的方式去操作它
以下是我个人总结出来的一个方法,可能不是最好的,但是至少可以实现这个要求
直接上代码:
wxml
1 2 3 4 5
| <view class="sendmessage"> <input id="message" bindinput="bindChange" wx:if='{{flag==false}}' placeholder="请输入"/> <input id="message" bindinput="bindChange" wx:if='{{flag==true}}' placeholder="请输入"/> <button bindtap="add">发送</button> </view>
|
JS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| Page({ data: { message : '', text : text, flag: false }, bindChange: function(e) { message = e.detail.value console.log( e.currentTarget ) }, add: function(e) { var st; websocket.send(user.nickName +" : "+ message); if( this.data.flag ){ st = false; }else { st = true; } this.setData({ flag: st }) } })
|
主要是data里设置了一个flag的属性,当点击send的时候,判断一下flag,然后对其进行取反,从而控制两个input的显示和隐藏