layui tree组件取消勾选

layui(2.8.15) tree的api中,只有 tree.setChecked(id, idArr) 方法,没有取消勾选的方法。

我的需求是:勾选后做判断,如果不符合条件则取消勾选。

实现方法:

使用 tree的oncheck事件,在回调函数中做判断,并确定是否取消勾选:

javascript 复制代码
layTree.render({
    elem: '#menuTree',
    id: 'roleMenuTree',
    showCheckbox:true,
    data: tempData,
    oncheck: function(obj){
        //console.log(obj.data); // 得到当前点击的节点数据
        //console.log(obj.checked); // 节点是否被选中
        //console.log(obj.elem); // 得到当前节点元素

        if (obj.data.text==='菜单管理'){
            layer.msg('《菜单管理》不能选!');
            obj.elem.find('.layui-form-checked').removeClass('layui-form-checked');
            return;
        }
    }
});

即使用 obj.elem.find('.layui-form-checked').removeClass('layui-form-checked'); 取消勾选。经过验证,在后边使用 tree.getChecked(id) 获取已勾选的内容时,与页面显示的数据一致,无需特殊处理。

相关推荐
提子拌饭13312 小时前
个人月事记录表应用 - 鸿蒙PC Electron框架完整实现指南
前端·javascript·华为·electron·前端框架·开源·鸿蒙系统
超人气王13 小时前
新手学前端JS浅拷贝和深拷贝:对象复制竟然是个“替身文学”?
javascript·面试
YHL13 小时前
📚 JS执行机制(执行上下文 + 调用栈 + 编译流程)
前端·javascript
不简说13 小时前
这次真香!sv-print 可视化打印设计器更新:插件脚手架、Excel 导出、弹窗 API 三连发
前端·javascript·前端框架
无聊的老谢13 小时前
Web GIS 最佳实践:Vue 集成 Leaflet/OpenLayers 实现基站海量点位渲染
前端·javascript·vue.js
yingyima13 小时前
GCP Cloud Scheduler 核心语法与实战示例速查手册
前端
用户573501072520613 小时前
Elpis 项目阶段性总结 - 基于 vue3 完成领域模型架构建设
前端
东风破_13 小时前
V8 如何执行你的代码——编译、上下文与调用栈
javascript
假如让我当三天老蒯13 小时前
为什么 setData 能获取到 prev 参数?(自学用)
前端·react.js
AskHarries13 小时前
Workspace:文件系统、项目上下文和执行边界
java·服务器·前端