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组件的优化机制导致的。以下是解决方案:

  1. 使用@input事件时,建议改用@blur@confirm事件替代,因为iOS对实时input事件的支持不稳定。

  2. 如果必须使用实时输入监听,可以尝试以下修改:

<textarea 
  @input="handleInput"
  @blur="handleBlur"
  v-model="inputValue"
></textarea>
  1. 在methods中添加防抖处理:
handleInput(e) {
  this.inputValue = e.detail.value;
  // 其他逻辑
},
handleBlur() {
  // 确保最终值正确
}
回到顶部