背景介绍:最近做项目用到了element-ui中的radio,其中有个需求:单选框默认选中,即设为管理员;如果是没选中,即设为不是管理员,我们都知道radio是单选按钮,如果有是否两个选项,首先想到的是做两个单选框,但是产品不想要这样的效果:radio 默认选中,再次点击取消它的选中状态
图一:开发前期为了节省时间,做成了这种

后来功能优化:

下面是附上我的代码
<el-form-item label="是否管理员" prop="isAdmin">
<el-radio v-model="ruleForm.isAdmin" label="1" @click.native.prevent="clickitem(ruleForm.isAdmin)">
{{hidden}}
</el-radio>
</el-form-item>// 定义变量
data() {
return {
hidden:'', //只有为了显示为空的,如果不加这个,radio 会默认显示label的值,比如"1",
ruleForm:{isAdmin:'1'}
}
},// 关键方法,这里要划重点,因为element中的radio只有change事件,没有点击事件,这里用的是取消默认选中
//切换单选按钮的状态,如果当前选中的值为"1",改变它的值为"0",就取消了它的选中,未选中转化为选中同理可得
clickitem(e) {
if (e === "1") {
this.ruleForm.isAdmin = "0"
} else {
this.ruleForm.isAdmin = '1'
}
}
// 最后给大家提供我是参考的哪些链接,因为我的例子只有一个,属于最简单的了
参考链接1:http://www.bubuko.com/infodetail-2804144.html
参考链接2:https://segmentfault.com/a/1190000018920022