vue.js - vue.js 中多个 v-model 的单个函数
问题描述
是否可以将多个 v-model 值用于一个常用功能。就我而言,使用 vue 脚本中方法内的通用函数对多个字段进行输入验证。
<input type="number" v-model="field1" @keypress="onlyTwoDecimal" >
<input type="number" v-model="field2"@keypress="onlyTwoDecimal" ><input type="number" v-model="field2" @keypress="onlyTwoDecimal"
<script>...... .... method:{onlyTwoDecimal ($event) { let keyCode = ($event.keyCode ? $event.keyCode : $event.which);
// only allow number and one dot
if ((keyCode < 48 || keyCode > 57) && (keyCode !== 46 || this.field1.indexOf('.') != -1)) { // 46 is dot
$event.preventDefault();
}
// restrict to 2 decimal places
if(this.field1!=null && this.field1.indexOf(".")>-1 && (this.field1.split('.')[1].length > 1)){
$event.preventDefault();
}
}
}
解决方案
您可以创建一个数组fields
并使用v-for
.
<div v-for="(field,index) in fields" :key="index">
<input type="number" v-model="field" @keypress="onlyTwoDecimal">
</div>
推荐阅读
- jasper-reports - 使用 Jasper Report 和 Barbecue 条码文本为空
- java - 如何解决 Thymleaf 中多个布局的问题?
- c++ - 我正在尝试计算这个连分数,但我似乎无法工作,但程序可以正确编译,但在工作时崩溃
- android - 通过 Google Play Services API 将会员卡添加到 Google Pay
- java - 使用java在twilio中获取whatsapp消息的编号和正文
- typescript - 打字稿我可以在函数体中使用泛型类型吗
- javascript - 谓词可以是 JavaScript 中的对象吗?
- mysql - 将图像插入 MYSQL 表的 BLOB 字段
- angularjs - 如何在现有的 AngularJS 项目中使用 npm 包?
- javascript - 如何检测是否到达水平滚动条的末尾?