默认是false,设置为true时为父子节点选中不关联。 再获取一个el-tree树的ref实例,用来对组件进行操作。 再设置@check事件,在选中节点之后触发的回调。此处注意区分使用@check-change事件,两者的回调参数是不同的。@check事件共两个参数,依次为:传递给 data 属性的数组中该节点所对应的数据对象、树目前的选中状态对象...
this.expandedKeys.push(item.parentId) this.$refs.tree.setCurrentKey(item.regionId) //通过 key 设置某个节点的当前选中状态,使用此方法必须设置 node-key 属性 const node = document.getElementById(item.regionId) // 通过Id获取到对应的dom元素 setTimeout(() => { if (node) { this.$nextTick((...
1、选中全部//全部选中chooseAll() {this.roleList ="";//判断按钮的状态if(this.checked1) {//设置this.$refs.tree.setCheckedNodes(this.data);for(vari =0; i <this.$refs.tree.getCheckedNodes().length; i++) {this.roleList +=this.$refs.tree.getCheckedNodes()[i].ID +","; }this.rol...
el-tree选择子节点默认选中父节点,选中父节点不选中子节点,后台菜单管理功能,需要勾选用户关联的菜单,拿到所有菜单id。可以单独选择父节点,选子节点时默认选中父节点,无半选状态。
* 解决:如下 * 注意:一定要设置setTimeout,延迟处理,否则选框没法去掉不选中*/setTimeout(()=>{//获取树中所有选中的值let defaultCheckAll =this.$refs.treeX.getCheckedKeys()//通过对比树所有选中的值(defaultCheckAll)和详情返回选中的值(res.data.menuIdDtos)去取两个数组的差集let deleteArr = default...
第一步:el-tree 配置 <el-tree :data="apiData" :props="apiViewProps" ref='apiDataTree' show-checkbox node-key="id" :check-strictly="true" @check-change="handleCheckChange" > </el-tree> 第二步:通过@check-change实现单选 handleCheckChange(data,checked){ const indexs = this.selectOrg....
/** * 设置已经选中的项 * @params {Number} sub 类型下标 */asyncsetChecked(sub){consttype=sub||this.defaultTypetry{constpickedIds=awaitthis.getTypeInfo(type)// 请求后端获取选中的idthis.$refs.tree.setCheckedKeys(pickedIds)// 将这些id对应的项 改成勾选状态this.handleCheckChange()// 这个函数...
<el-tree ref="systemTree" show-checkbox :data="systemTree" node-key="id" :props="defaultProps" :default-checked-keys="hasRights" :default-expanded-keys="expandRights" /> 当给一个父元素设置默认选中了除了一项之外的所有项(比如有三项,默认设置选中两项),它会直接选中所有,我查了issues是很久前的...
主要逻辑如下:父级点击选中或取消时,子级全部选中或取消。子级选中后 所有的父级是选中效果,子级取消选中后,父级仍是选中效果。 主要代码示例如下: <el-treeref="treeFrom":data="treeData"show-checkbox node-key="id"check-on-click-node :default-expand-all="true":check-strictly="true":expand-on-cl...