Element UI的el-tree组件没有直接的“重新渲染”方法,但你可以通过更新其绑定的数据来触发重新渲染。这通常是通过Vue的响应式系统来实现的。 假设你有一个名为treeData的数据属性,它绑定到el-tree组件上: vue <template> <el-tree :data="treeData" :props="defaultProps" @node-click="handleNode...
暂时可用又简单的方法:给组件绑定key 这是自定义组件,element自带组件也可以这样,绑定key后,通过改变key的值来重新渲染。
发现lazy状态改变,就可以根据 treeData 来渲染,但是这里因为使用了lazy,所以数据不对,重新通过接口加载treeData可以显示成功,但是会有加载过程。 显然问题是在 check-strictly 切换的时候,el-tree 在vue diff 算法下重新渲染的时候,初始化的 treeData 有问题导致的、 但是具体逻辑还有待梳理。 看node_modules/element...
第二种方法:思路是将整个treeData都复制下来,如果层级比较深可以用JSON.parse(JSON.stringify()),对新数组进行修改,再赋值给treeData。这种做法的前提是二级children已经可以获取接口的值进行渲染了,那么重新赋值treeData肯定也是没问题的,但是这个并没有找到这个问题的根本原因啊,不过这是一个骚操作,以后说不定会遇到...
用element-ui <el-tree> 做一个多级选择, 进行修改的时候默认选中状态,第一次能正确加载.当换行修改其他行时,弹出对话框,第二次不能加载,求大神指点?其中defaultDate: 是页面加载的时候通过created函数渲染的 HTML <el-form-item prop="typeList" label="问题类型"> <el-tree show-checkbox default-expand-al...
--默认展开 拿到的 areaPlaceId值为字符串,:default-expanded-keys="['532822']数组中也要是字符串--><el-tree node-key="areaPlaceId":default-expanded-keys="['532822']"accordionclass="tree":data="data"highlight-current lazy:load="loadNode":props="defaultProps"@node-click="handleNodeClick"><...
2. 在需要刷新子节点的地方,我们可以通过`this.$refs.tree`来获取到el-tree组件的实例。 3. 使用`this.$refs.tree.updateKeyChildren(key, data)`方法来刷新子节点。其中,`key`表示需要刷新的节点的唯一标识,`data`表示新的子节点数据。 4. 刷新子节点后,el-tree组件会重新渲染,展示新的子节点数据。 三、...
使用element-ui 中的el-tree scope-lot 自定义节点内容渲染时,只有自带的label 和id能渲染,自己加的却不能渲染 <el-tree :data="data5" show-checkbox node-key="id" default-expand-all :expand-on-click-node="false"> {{ node.label }} {{ node.label }} </el-tree> <el-tree :data="da...
& > ::v-deep .el-tree-node::before{ border-left: none; }// 展开关闭的icon::v-deep .el-tree-node__expand-icon{ font-size: 16px;// 叶⼦节点(⽆⼦节点)::v-deep &.is-leaf{color: transparent;// display: none; // 也可以去掉} ...
//渲染 this.defaultCheckedNode = this.getArray(this.rolesTree, true, []); this.$refs.rolestree.setCheckedNodes(this.defaultCheckedNode); //给树节点赋值 this.checkStrictly = false; //赋值完成后设置为false },0) }) }) }, getArray (data, name, lst) { ...