在vue中用了elemen插件,怎么让复选改为单选

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在vue中用了elemen插件,怎么让复选改为单选相关的知识,希望对你有一定的参考价值。

将el-checkbox-button改为el-radio-button可以实现单选,但是样式会乱,而且会出现一些新的bug。急,求大牛回复,谢谢!

参考技术A 这是什么需求,明明就应该用radio,样式的问题,自己排下版就行啊

iView的tree组件实现单选功能

iView中的树组件有复选框可以多选,但是目前还没有提供单选框的模式,不显示复选框可以提供高亮单选的模式,但是再次点击就被取消了,没有实现真正的单选;

tree 的属性配置中 multiple 是否支持多选,是在不显示复选框的时候生效的,不能控制复选框支不支持多选;

实现单选功能中用到了:

:show-checkbox="true"  // 是否显示复选框
:check-strictly="true" // 显示复选框的前提下,是否让父子节点不联动
:check-directly="true" // 在显示复选框的前提下,让节点的选中触发复选框的选中
@on-check-change="treeChange"  // 复选框被选中的时候触发,可能是点击复选框的时候被选中,也可能是点击节点的时候被选中;返回 当前已勾选节点的数组、当前项

使用 getSelectedNodes() 获取被选中的节点数组,getSelectedNodes()[0] 获得被选中节点的数据

 

视图、逻辑、样式 如下:

 1 <template>
 2 <Tree
 3  ref="orgTree"
 4  :data="orgTree"
 5  :show-checkbox="true"
 6  :check-strictly="true"
 7  :check-directly="true"
 8  @on-check-change="treeChange"
 9  ></Tree>
10 </template>
11 
12 <script>
13 ...
14 methods:{
15     // 树复选框发生改变--只能有一个被选中
16     treeChange(arr, obj) {
17       // 清空所有已选中的
18       arr.forEach(item => {
19         item.checked = false;
20       });
21       // 只选中最后一次选中的
22       obj.checked = true;
23     }
24 }
25 </script>
26 
27 <style>
28  /* 让方形复选框变成圆形单选框样式,最好在树组件外套一个父盒子,在样式前加父级选择器,以免影响其他树组件*/
29  .ivu-checkbox-inner {
30     border-radius: 50%;
31   }
32 </style>

写的比较简单,可能还有不完善的地方,还请各位大佬批评指正

以上是关于在vue中用了elemen插件,怎么让复选改为单选的主要内容,如果未能解决你的问题,请参考以下文章

vue.js 怎么判断选中第一个checked,

vue.js实现单选框复选框和下拉框

Vue.js小Demo--单选和复选功能实现

在 vue js 中使用单选按钮时 v-model 没有更新?

vue.js实现单选框复选框和下拉框

vue elementUI实现el-table点击行单选, 点击行多选,点击复选框单选效果