element-ui radio 再次点击取消选中

背景介绍:最近做项目用到了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