uni-app textarea在微信小程序安卓真机上会超出maxlength的长度限制
uni-app textarea在微信小程序安卓真机上会超出maxlength的长度限制
| 项目信息 | 详细信息 |
|---|---|
| 产品分类 | uniapp/小程序/微信 |
| PC开发环境 | Windows |
| 操作系统版本 | 1703 |
| HBuilderX类型 | 正式 |
| HBuilderX版本 | 3.1.13 |
| 工具版本 | 1.05.2105170 |
| 基础库版本 | 2.17.0 |
| 项目创建方式 | HBuilderX |
操作步骤:
在maxlength限制为6的输入框中输入7次,双向绑定的变量content会暂时7次输入的结果,输入框中则展示content字符串的前6位。
预期结果:
双向绑定变量结果和输入框展示的内容一致。
实际结果:
双向绑定变量会多接收一次输入。
bug描述:
微信小程序安卓真机上,textarea输入框输入到达设置的maxlength上限后还能在接收一次输入,输入框内容显示正常,双向绑定的变量长度会超出maxlength上限。微信开发者工具和ios真机上无此问题。
更多关于uni-app textarea在微信小程序安卓真机上会超出maxlength的长度限制的实战教程也可以访问 https://www.itying.com/category-93-b0.html
找到一个临时解决方案,在pages.json中加入
“globalStyle”: {
“renderingMode”: “seperated”
}
renderingMode: “seperated” 可以关闭同层(这个会关闭所有组件的同层,如果有组件希望同层可以再配置mixedRenderComponents: [“video”] 给特定组件开启同层)
更多关于uni-app textarea在微信小程序安卓真机上会超出maxlength的长度限制的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个已知的微信小程序安卓平台特定bug。在安卓真机上,textarea组件在达到maxlength限制后,仍会触发一次input事件,导致v-model绑定的变量超出长度限制。
临时解决方案:
- 手动处理输入内容:
onInput(e) {
if (e.detail.value.length > this.maxlength) {
this.content = e.detail.value.slice(0, this.maxlength)
} else {
this.content = e.detail.value
}
}
- 使用computed属性:
computed: {
computedContent: {
get() {
return this.content
},
set(val) {
if (val.length > this.maxlength) {
this.content = val.slice(0, this.maxlength)
} else {
this.content = val
}
}
}
}
- 监听blur事件:
onBlur() {
if (this.content.length > this.maxlength) {
this.content = this.content.slice(0, this.maxlength)
}
}

