Q
[youzan/vant-weapp][Bug Report] van-field组件设置了type="textarea", maxlength限制长度问题
7
重现链接
Vant Weapp 版本
1.10.2
描述一下你遇到的问题。
van-field组件设置了type="textarea", maxlengt=10,输入10位后,界面上show-word-limit和输入框的值都正确,但value绑定中的值却有11位
重现步骤
在dialog弹框中有van-field组件,设置type="textarea", maxlengt=10,界面限制输入10位, 但绑定的value获取到11位
设备/浏览器
安卓真机有该问题,模拟器正常
A
回答
3
抱歉这边安卓设备没能复现,能提供代码片段链接吗?
}
- pages/index/index.wxml
```wxml
<van-dialog use-slot title="标题" show="{{ show }}" show-cancel-button bind:close="onClose">
<van-field maxlength="10" label="测试" bind:change="onChange"></van-field>
</van-dialog>
- pages/index/index.js
Page({
data: {
show: true,
},
onClose() {
this.setData({ show: false });
},
onChange(event) {
// event.detail 为当前输入的值
console.log(`值:${event.detail}, 长度:${event.detail.length}`);
},
});
真机预览日志:
1
少了设置type为textarea 目前在看这个问题
5
@johnsonwong666 添加 type="textarea" 后确实复现了这个 bug
1
我测试了一下,微信小程序原生组件 textarea 在安卓设备上就存在这个问题
6
5
@landluck 更新到v1.10.18后,textarea仍然出现value.length > maxlength 的情况
<van-field required autosize show-word-limit="true" maxlength="50" type="textarea" model:value="{{ companyName }}" clearable label="工作单位名称" placeholder="请输入工作单位名称" />
console.log(this.data.companyName) console.log(this.data.companyName.length)
当快速输入时(暴力测试),可以超出限制长度