原理就是找到展开和折叠对应的图标class名称,然后使用js模拟循环点击的方式实现。
html代码
<div id="menuTree" class="demo-tree-more"></div>
js组件渲染代码
tree.render({
elem: '#menuTree',
data: getData(), //ajax获取data数据
showCheckbox: true, //是否显示复选
id: 'demoId'
});
点击全部展开按钮事件
//menuTree换成你自己的id就行
var treeContainer = document.querySelector('#menuTree');
var expandIcons = treeContainer.querySelectorAll('.layui-icon-addition');
expandIcons.forEach(function(icon) {
var clickEvent = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': true
});
icon.dispatchEvent(clickEvent);
});
点击折叠全部按钮事件
//menuTree换成你自己的id就行
var treeContainer = document.querySelector('#menuTree');
var expandIcons = treeContainer.querySelectorAll('.layui-icon-subtraction');
expandIcons.forEach(function(icon) {
var clickEvent = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': true
});
icon.dispatchEvent(clickEvent);
});