这个问题,结合源码跟你说下吧
getTreeCheckedNodes: function (setting, nodes, checked, results) {if (!nodes) return [];
var onlyOne = (checked && settingcheckchkStyle == constsradioSTYLE && settingcheckradioType == constsradioTYPE_ALL);
results = !results [] : results;
for (var i = 0, l = nodeslength; i < l; i++) {
var node = nodes[i];
var children = datanodeChildren(setting, node);
var nodeChecked = datanodeChecked(setting, node);
if (nodenocheck !== true && nodechkDisabled !== true && nodeChecked == checked) {
resultspush(node);
if (onlyOne) {
break;
}
}
datagetTreeCheckedNodes(setting, children, checked, results);
if (onlyOne && resultslength > 0) {
break;
}
}
return results;
}
其中这一句种nodeChecked == checked 根据treenode的当前checked与你传入的checked比较,虽然api上说默认treenode的checked是false,实际上是undefined,所以要有效,一是选中后取消,一是初始化的时候,把treenode的checked设上true或false,当然你也可以该源码
Vue Element UI的Tree组件在加载大量节点时会出现明显的卡顿,电脑配置差点更是难受。即使使用懒加载,即每展开父节点再去加载子节点,若字节点数目同样众多,Tree组件在使用过程中依旧卡顿。这里提供一个jquery的方案,使用zTree替代Element UI的Tree组件,让树组件使用非常流畅。
因为树节点数目众多,使用zTree依旧延续展开父节点再去加载子节点的方式。
zTree: >
使用ztree的checkAllNodes(false)这个方法,可以去除所有的选中,还有checkNode这个方法,配置相应参数,能去除某个选中点,不要使用cancelSelectedNodes() 方法
1、getNodeByParam 方法可以找到指定的节点数据
2、selectNode 方法可以选中节点,如果是 checkbox 的勾选,那么请使用 checkNode 方法
你可以试用ztree的getCheckedNodes()方法,该方法介绍如下: zTreeObjgetCheckedNodes 概述[ 依赖 jqueryztreeexcheck 扩展 js ] 获取输入框被勾选 或 未勾选的节点集合。[settingcheckenable = true 时有效] 请通过 zTree 对象执行此方法
<script>
function filter(node) { //过滤器直选中2级节点累加
return (nodelevel == 2 && nodechecked == true);
}
var setting = { //设置
check: {
enable: true
},
callback: {
onCheck: onCheck
}};
function onCheck(e, treeId, treeNode){ //这是将所有选中节点的名字 用,分割做拼接 用于持久化到数据库
var zTree = $fnzTreegetZTreeObj("tree")getNodesByFilter(filter);
var choose = "";
for (var i=0;i<zTreelength;i++) {
if(zTree[i]name !=null)
choose +=(i == (zTreelength-1))zTree[i]name:zTree[i]name+",";
}
$("#ztreesnames")val(choose);
treeIds();
}
function treeIds(){ //这是将选中的节点的id用;分割拼接起来,用于持久化到数据库
var zTreeO = $fnzTreegetZTreeObj("tree")getNodesByFilter(filter);
var idListStr = "";
for (var i = 0; i < zTreeOlength; i++) {
if (zTreeO[i]id != null) {
idListStr+= (i == (zTreeOlength-1))zTreeO[i]id:zTreeO[i]id+";";
}
};
$("#ztreeids")val(idListStr);
以上就是关于ztree获取没选中的是什么啊 我设置成getCheckedNodes(false)不好使啊全部的内容,包括:ztree获取没选中的是什么啊 我设置成getCheckedNodes(false)不好使啊、用zTree替代Element UI的Tree,解决大数据卡顿问题、如何去除Ztree已选节点的勾,既返回到未选状态等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)