概述
vue页面值传递的时候,传过来一堆要显示的数据,同时也有要进行判断的数据,比如判断是否为true然后禁用表单等
场景
示例:如下判断要不要禁用,实际上却是F回显了,但是AB就算大于5也无法禁用
<a-radio-group v-model="model.F" name="radioGroup8">
<a-radio :value="4" :disabled="model.A >= 5">优</a-radio>
<a-radio :value="2" :disabled="model.B >= 5">良</a-radio>
<a-radio :value="1">一般</a-radio>
<a-radio :value="0">差</a-radio>
</a-radio-group>
原因
找不到,个人猜测是因为vue默认用的是异步执行方法,所以表单使用传过来的值已经挂载在页面上了,是两个线路,所以不能拿来判断,要将获取到的model.A和B,再次赋给别的data
解决方法
这里我是重新定义data
data(){
return{
model:{},
A:0,
B:0,
}
}
edit (record) {
this.model = Object.assign({}, record);
getAction("/myScore/myScore/xianSanMing",{projectId:record.id}).then((res)=>{
if(res.success){
//this.model.A = res.result.A; 这是以前直接给表单数据里了
//this.model.B = res.result.B;
this.A = res.result.A; //这是现在直接给新的值,然后
this.B = res.result.B;
}});
this.visible = true;
},
总结
vue传过来的值要想使用,千万别把值和表单展示的对象放一起,因为一个对象只能一个生命周期用,除非双向绑定
最后
以上就是优秀眼睛为你收集整理的vue判断传来的值,禁用表单却需要先获取焦点场景原因总结的全部内容,希望文章能够帮你解决vue判断传来的值,禁用表单却需要先获取焦点场景原因总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复