Ant中在form表单中使用输入框或数字输入框且用v-decorator在@change中取当前值如果是单个取值,只需要使用change传过来的值即可,如果是v-model直接取即可,如:this.model.字段名即可取到值。使用到v-decorator是为...

Ant中在form表单中使用输入框或数字输入框且用v-decorator在@change中取当前值
如果是单个取值,只需要使用change传过来的值即可,如果是v-model直接取即可,如:this.model.字段名即可取到值。使用到v-decorator是为了更好的验证。
<a-form-item class="x-table-form-item">
<a-input v-decorator="['testVal']" @change="count" placeholder="请输入" style="width: 100%"></a-input >
</a-form-item>
//方法
count(val) {
console.log("val是一个对象,val.targe.value就是当前字段当前值")
}
v-decorator中change取值取到上一个值而不是当前值的解决方法,加延迟即可。
由于v-decorator不是和v-model一样实现即时的双向绑定,所以要小心form表单赋值在change方法之后,如果此时不是取change方法自带的参数值又是当前字段改变的值,那么就需要做延迟处理,才能够取到值。(在多个值进行计算,实时更新结果时,能够一个方法解决问题,而不需要每个字段一个单独change方法,完全可以共用一个方法。
count() {
console.log("开始计算")
setTimeout(()=>{
let m1 = this.form.getFieldValue('result3');
let m2 = this.form.getFieldValue('result4');
let l1 = this.form.getFieldValue('result5');
//console.log("m1:"+m1+"-m2:"+m2+"-l1:"+l1);
if (this.isValuable(m1) && this.isValuable(m2) && this.isValuable(l1)) {
this.form.setFieldsValue({
"result6": Number(((Number(m2) - Number(m1))/Number(l1) * 1000)/10).toFixed(0) * 10
})
}
let n1 = this.form.getFieldValue('result3_2');
let n2 = this.form.getFieldValue('result4_2');
let l2 = this.form.getFieldValue('result5_2');
if (this.isValuable(n1) && this.isValuable(n2) && this.isValuable(l2)) {
this.form.setFieldsValue({
"result6_2": Number(((Number(n2) - Number(n1))/Number(l2) * 1000)/10).toFixed(0) * 10
})
}
this.countGapRatio();
},10)
},
注意:js中计算应注意0等于空字符串。但是0不全等于空字符串
0 =="" 为true
0 === "" 为false
沃梦达教程
本文标题为:Vue中使用Ant框架在form表单中使用输入框或数字输入框且用v-decorator取当前值


基础教程推荐
猜你喜欢
- clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析 2024-01-08
- Loaders.css免费开源加载动画框架介绍 2025-01-23
- js判断一个对象是否在一个对象数组中(场景分析) 2022-10-21
- webpack学习笔记一:安装webpack、webpack-dev-server、内存加载js和html文件、loader处理非js文件 2023-10-29
- JSONObject与JSONArray使用方法解析 2024-02-07
- Bootstrap学习笔记之css组件(3) 2024-01-22
- 纯css实现漂亮又健壮的tooltip的方法 2024-01-23
- 创建Vue3.0需要安装哪些脚手架 2025-01-16
- html5视频如何嵌入到网页(视频代码) 2025-01-22
- Django操作cookie的实现 2024-04-15