javascript - Vue 3 中的 onKeypress 不捕获数字的最后一个字符
问题描述
我尝试使用以下代码将输入的数字输入到 Vue 中的函数中。
<input
type="number"
step="1"
class="form-control"
placeholder="Enter MyLCI number"
required
min="1000000"
@click.prevent="changeSearch(2)"
@keypress="searchLeo"
@paste="searchLeo"
>
我的功能如下所示。
searchLeo(e) {
console.log(e)
const val = parseInt(e.target.value);
console.log(val)
}
当我在输入字段中输入一个数字时,变量“val”的值总是没有我输入的最后一个数字。例如:如果我输入 123,它只显示 12。但是当我从 console.log(e) 输出中检查 event.target.value 时,它显示的值为 123。
有人可以请,解释原因。
解决方案
按键是按下按钮的参考,此时vue没有捕捉到该值。如果您更改为:
<input
type="number"
step="1"
class="form-control"
placeholder="Enter MyLCI number"
required
min="1000000"
@click.prevent="changeSearch(2)"
@keyup="searchLeo"
@paste="searchLeo"
>
您的代码应该可以正常工作,因为当您完成密钥后,vue 已经有了它。
推荐阅读
- javascript - Output all nested array elements with recursion
- php - 如何找到列总和达到某个数字的日期?
- symfony - 将外部 PHP 应用程序包含到 iFrame (Twig/Symfony)
- python - 在 Python 中发送 HTTP API 请求并将 json 数据转换为 csv 格式
- android - 启动应用程序时如何选择一个活动作为启动活动?
- javascript - 将 javascript 对象转换为 JSON
- c# - 使用 clientcontext.executequery() 上传文档和更新共享点库中的元数据时操作已超时
- python - 在列中查找字符串但在同一行下的不同列中返回值
- java - Spring Boot 2 自定义图标
- python - 如何将 Bokeh Tap 事件中的坐标附加到 python 对象?