uni-app input设置maxlength时 粘贴文本不触发@input事件和v-model绑定变量的监听

uni-app input设置maxlength时 粘贴文本不触发@input事件和v-model绑定变量的监听

测试过的手机

  • iPhone 12
  • oneplus 9

示例代码

<input class="container-code-container-code" :class="getFocusClass" type="number" maxlength="1"
@focus="inputDidFocus" :focus="getFocus" v-model="data.code" [@input](/user/input)="inputDidChanged">
/**
* 输入框内容发生改变
* event: 事件
*/
const inputDidChanged = (event : any) => {
console.log('=========', event.detail.value);
}

操作步骤

  • 必现

预期结果

  • 粘贴文本可以触发@input事件, 能使用watch监听v-model绑定变量变化事件

实际结果

  • 如题

bug描述

  • 如题

| 信息类型     | 信息内容             |
|--------------|----------------------|
| 产品分类     | uni小程序SDK          |
| 手机系统      | 全部                 |
| 手机厂商      | 华为                 |
| 页面类型      | vue                  |
| SDK版本号    | 3.8.12.20230817      |

更多关于uni-app input设置maxlength时 粘贴文本不触发@input事件和v-model绑定变量的监听的实战教程也可以访问 https://www.itying.com/category-93-b0.html

16 回复

HBuilderX 4.31.2024102414-alpha 已修复。

更多关于uni-app input设置maxlength时 粘贴文本不触发@input事件和v-model绑定变量的监听的实战教程也可以访问 https://www.itying.com/category-93-b0.html


你好,不用小程序sdk,直接用hbuilderx 运行到Android App基座是否正常

没理解, 不用小程序SDK怎么才能运行到模拟器上

回复 y***@163.com: 直接用hbuilderx 运行到Android App基座 试试呢

回复 BFC: 同样有问题

回复 y***@163.com: 发一下可复现的demo 工程, 我验证一下

回复 BFC:

<template> <view>
<input class="container-code-container-code" :class="getFocusClass" type="number" maxlength="1" [@focus](/user/focus)="inputDidFocus" :focus="getFocus" v-model="code" [@input](/user/input)="inputDidChanged">
</view> </template>
<script setup lang="ts"> import { computed, onMounted, onUnmounted, ref, watch } from "vue";
</script>
<style lang="scss" scoped> .container { padding: 140rpx 40rpx;
</style>

回复 BFC: 你好, 有进展吗

回复 y***@163.com: 收到,我验证一下

bug已确认,感谢反馈,已加分。下个版本修复

临时解决方案, 设置maxLength = -1,手动截取长度一下吧。

回到顶部