ztree 加搜索框_实例详解ztree在vue项目中使用并且带有搜索功能

zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。

上篇文章给大家介绍了,大家可以点击查看。

之前博客介绍过怎么在vue里展示以及获取点击元素的内容,此文章之介绍搜索功能

html

main.js需要单独引入

如果不单独引入这个会获取不到很多元素,在input回车事件或者点击事件的时候直接执行此事件即可

代码部分

.搜索条件

var searchCondition = $('#' + searchConditionId).val();

//<2>.得到模糊匹配搜索条件的节点数组集合

var highlightNodes = new Array();

if (searchCondition != "") {

var treeObj = $.fn.zTree.getZTreeObj(treeId);

highlightNodes = treeObj.getNodesByParamFuzzy("name",searchCondition,null);

}

//<3>.高亮显示并展示【指定节点s】

this.highlightAndExpand_ztree(treeId,highlightNodes,flag);

},highlightAndExpand_ztree(treeId,tx,flag) {

var treeObj = $.fn.zTree.getZTreeObj(treeId);

//<1>. 先把全部节点更新为普通样式

var treeNodes = treeObj.transformToArray(treeObj.getNodes());

for (var i = 0; i < treeNodes.length; i++) {

treeNodes[i].highlight = false;

treeObj.updateNode(treeNodes[i]);

}

//<2>.收起树,只展开根节点下的一级节点

this.close_ztree(treeId);

//<3>.把指定节点的样式更新为高亮显示,并展开

if (highlightNodes != null) {

for (var i = 0; i < highlightNodes.length; i++) {

if (flag != null && flag != "") {

if (highlightNodes[i].flag == flag) {

//高亮显示节点,并展开

highlightNodes[i].highlight = true;

treeObj.updateNode(highlightNodes[i]);

//高亮显示节点的父节点的父节点....直到根节点,并展示

var parentNode = highlightNodes[i].getParentNode();

var parentNodes = this.getParentNodes_ztree(treeId,parentNode);

treeObj.expandNode(parentNodes,true);

treeObj.expandNode(parentNode,true);

}

} else {

treeObj.updateNode(highlightNodes[i]);

var parentNode = highlightNodes[i].getParentNode();

var parentNodes = this.getParentNodes_ztree(treeId,parentNode);

treeObj.expandNode(parentNodes,true);

treeObj.expandNode(parentNode,true);

}

}

}

},getParentNodes_ztree(treeId,node) {

if (node != null) {

var treeObj = $.fn.zTree.getZTreeObj(treeId);

var parentNode = node.getParentNode();

return this.getParentNodes_ztree(treeId,parentNode);

} else {

return node;

}

}

展示

这个有个小小的bug,就是做键盘按下或者抬起的时候会有问题,,这个文章就解决了这个问题

总结

以上所述是小编给大家介绍的ztree在vue项目中使用并且带有搜索功能。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值