loaded = false; // 重新展开节点就会间接重新触发load达到刷新效果 node.expand(); }, 方法2 可以在第一次懒加载数据的时候,把 loadNode 的 2 个参数保存下来,然后添加节点的时候,重新调用一下这个方法就可以了 不推荐,由于loadNode只会针对某个节点加载一次,后续再点击你点过的这个节点的小箭头不会再次触发...
解决办法 :可以与后台协商,在添加成功对接口里返回该节点对 ID,然后 append 节点的时候,把此节点的 ID 也添加进去,就 OK 了。
解决办法: 1、先用Window方式登陆进去,选择数据库实例,右键选择属性——安全性:把服务器身份验证选项从“Windo elementUI el-table 懒加载实现修改删除刷新子节点信息 load()方法中点击加载子节点时保存信息到maps 删除和修改的函数中传入fu父级id查找到保存在map对象中的节点信息触发一次load()从而达... 前途无忧...
主要是将第一个节点和resolve函数指针存起来,再次触发时手动调用 代码如下: data(){return{treeNode_had:[],treeResolve_had:[],}}...// 点击刷新按钮触发reloadTreeNewData(){this.treeNode_had.childNodes=[]// 把存起来的node的子节点清空,不然会界面会出现重复树!this.loadTree(this.treeNode_had,this....
手动触发load更新 推荐,此方法有效避免直接调用loadNode(node, resolve)函数,可以间接从组件内部触发load事件,这样就不需要缓存resolve这个不好拿到的入参。省去后续很多麻烦事,特别是由于懒加载只加载一次导致缓存的数据和方法不匹配当前点击的节点,从而导致增删改树结构数据时显示异常的问题,方法2中有详细说明。
// 然后将获取到的节点保存起来,此时 node 从 null 变成一个有值的数据,就会触发监听 this.node = this.$refs.tree.getNode(this.labelArr[0]) // 并且展开这个节点 this.node.expand() }, async loadNode(node, resolve) { if (this.appItem.driveType !== "ftp") return ...
因为懒加载树无法判断有没有子节点,所以必须手动添加leaf:true,才能取消左侧的小箭头,在树结构数组转换成扁平数组时给没有子节点的数组对象加上这一属性 很多时候需要默认展开树节点,比如选中第一级下第一个节点,在nextTick中nodedata.expanded = true来展开节点,nodedata.loadData()再次触发resolve函数 ...
:load="loadNode" lazy node-key="id" show-checkbox accordion @current-change="currentChange" :filter-node-method="filterNode" @check="handleCheck" ref="tree" :default-checked-keys="defaultCheckedNodes" :default-expanded-keys="defaultExpandedNodes" ...
思路其实很简单,就是给el-tree绑定一个data。首次打开的时候,el-tree会自动触发load事件,正常载入。手动刷新的时候,获取根节点信息后放入data中,vue和element会自动完成其余工作。