欢迎来到代码驿站!

vue

当前位置:首页 > 网页前端 > vue

element编辑表单el-radio回显之后无法选择的问题解决

时间:2021-12-17 10:04:30|栏目:vue|点击:

前言

提前说明哦,这是一篇很基础类的文章,只适合小小白阅读,因为以下文章内容来源于我刚入行时的笔记。各位高人请绕道,避免浪费时间,谢谢~

今天主要来谈一下element-ui编辑表单中的el-radio回显之后无法选择的问题,主要涉及到vue的双向绑定,以及element-ui编辑表单中的el-radio的默认类型。

问题

这是一个困扰了我半上午的bug,表单样式及代码如下。

问题是回显数据之后,当我点击其他的radio想要选择的时候,勾选不了。

在网上找到了一样的问题,有解决方案,同样没有找到原因。

网上的解决方案

原本是把从后台得到的数据res.data直接赋值给editPowerForm,现在需要先把res.data赋值给let obj,然后再由obj赋值给editPowerForm,就可以了。

原因是editPowerForm没有声明radio这一变量,vue中对数据双向绑定的支持限于基本添加删除的方法,详情看官网。在这里相当于直接赋值给未声明的变量,所以双向绑定不会被vue监听,即没有刷新。而先赋值给obj,相当于radio在被赋值前已经被声明了,所以可以被双向绑定监听到。

说的有点绕,总之就是对象的某个属性要先被创建,才能被vue双向绑定监听到。

还有需要注意的是:

radio的值默认应该是string类型,如果后台返回的值是int类型,radio同样不会默认选中。

总所周知,在引用js对象时,引用的其实是一个索引地址,也因此前端才延伸出深拷贝浅拷贝的所在,当对象内只发生改变时,索引值其实是不变的,即旧值与新值相同,因为它们索引指向的都是同一个对象。

其实直接使用$set,或者watch进行深度监听也是可以的。庆幸的是,现在vue3中使用proxy代理来实现双向绑定,再也不用担心数组/对象发生变化却监听不到的问题了!

上一篇:vue2.0实现前端星星评分功能组件实例代码

栏    目:vue

下一篇:详解Vue串联过滤器的使用场景

本文标题:element编辑表单el-radio回显之后无法选择的问题解决

本文地址:http://www.codeinn.net/misctech/187152.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有