[youzan/vant-weapp][Bug Report] van-field组件设置了type="textarea", maxlength限制长度问题

2024-08-20 926 views
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位

设备/浏览器

安卓真机有该问题,模拟器正常

回答

3

抱歉这边安卓设备没能复现,能提供代码片段链接吗?

  • pages/index/index.json
    
    {
    "usingComponents": {
    "van-dialog": "@vant/weapp/dialog/index",
    "van-field": "@vant/weapp/field/index"
    }

}


- 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}`);
    },
    });

    真机预览日志:

1ce5bdb7fe08ba33caabb8eefce39b5

1

少了设置type为textarea 目前在看这个问题

5

@johnsonwong666 添加 type="textarea" 后确实复现了这个 bug

1

我测试了一下,微信小程序原生组件 textarea 在安卓设备上就存在这个问题

6

v1.10.17 已修复

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)

70391b138f3d58ec864fda85dcbc8bd

585692edd997bcb3f95515b711dc956

当快速输入时(暴力测试),可以超出限制长度