uni-app 3 的底层实现会出现改变绑定事件的情况,该问题会导致非常容易出现 BUG
textarea组件 在 iOS 真机下 无法动态切换绑定 input 事件textarea 动态绑定 input 事件,然后再次切换绑定的 input 事件名,在 iOS 真机上,始终触发的是第一次绑定的 input 事件,而开发者工具,Android均正常。 可以直接导入代码片段测试:https://developers.weixin.qq.com/s/8Cn9UkmR76Aq 测试步骤(仅限iOS真机,其他环境均正常): 第一次在textarea输入文字,提示当前绑定和正在触发的事件名均为input1点击动态切换事件名,继续在textarea输入文字,提示绑定的是input2,但触发的还是input1js代码 Page({ data: { inputEvent: "input1", triggerInputEvent: "", }, change() { this.setData({ inputEvent: this.data.inputEvent === 'input1' ? 'input2' : 'input1' }) }, input1(e) { console.log('input1...', e.detail.value) this.setData({ triggerInputEvent: 'input1' }) }, input2(e) { console.log('input2...', e.detail.value) this.setData({ triggerInputEvent: 'input2' }) } }) wxml代码 <view>textarea</view> <textarea bindinput="{{inputEvent}}" placeholder="请输入内容,以触发input事件"></textarea> <view>当前绑定的事件名:{{inputEvent}}</view> <view>正在触发的事件名:{{triggerInputEvent}}</view> <button bindtap="change" style="margin:25px auto">动态切换事件名</button> <view>iOS真机时,textarea绑定的input事件无法动态切换(一直触发的是第一次绑定的input1),模拟器,Android均正常</view>
2022-07-15