uni-app ios 手机上小程序使用textarea 组件双向数据绑定 input 事件失效了 第一次可以 后续都不行 不触发 安卓手机可以
uni-app ios 手机上小程序使用textarea 组件双向数据绑定 input 事件失效了 第一次可以 后续都不行 不触发 安卓手机可以
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | win10 | HBuilderX |
操作步骤:
<textarea 组件ios 的input 事件第一次更新,后续数据不更新,同时数据没法双向绑定
预期结果:
双向数据绑定成功,input事件执行
实际结果:
实际结果是ios 手机只有第一次才会执行,后续input事件和双向数据绑定失效
bug描述:
<textarea class="uni-chat-input"
class="[chatList.length > 0 ? 'uni-input-small' : 'uni-input-large']" :fixed="true" v-model="inputValue"
[@input](/user/input)="getInputValue" maxlength="-1" trim :adjust-position="false"
[@linechange](/user/linechange)="changeHeight" :show-confirm-bar="false"
placeholder-class="uni-input-placeholder" placeholder="想咨询什么呢~" [@blur](/user/blur)="leaveInput"
[@focus](/user/focus)="getHeight" auto-height></textarea>
更多关于uni-app ios 手机上小程序使用textarea 组件双向数据绑定 input 事件失效了 第一次可以 后续都不行 不触发 安卓手机可以的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
等一个答案
更多关于uni-app ios 手机上小程序使用textarea 组件双向数据绑定 input 事件失效了 第一次可以 后续都不行 不触发 安卓手机可以的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这个问题的确在uni-app的iOS端小程序中比较常见,主要是iOS系统对textarea组件的优化机制导致的。以下是解决方案:
-
使用
@input
事件时,建议改用@blur
或@confirm
事件替代,因为iOS对实时input事件的支持不稳定。 -
如果必须使用实时输入监听,可以尝试以下修改:
<textarea
@input="handleInput"
@blur="handleBlur"
v-model="inputValue"
></textarea>
- 在methods中添加防抖处理:
handleInput(e) {
this.inputValue = e.detail.value;
// 其他逻辑
},
handleBlur() {
// 确保最终值正确
}