layui tree组件勾选后做判断,如果不符合条件则取消勾选

tree的api中,只有tree.setChecked(id, idArr)方法,没有取消勾选的方法。我的需求是:勾选后做判断,如果不符合条件则取消勾选。 实现方法:使用 tree的oncheck事件,在回调函数中做判断,并确定是否取消勾选: layTree.render({ elem: '#menuTree', id: 'roleMen

tree的api中,只有 tree.setChecked(id, idArr) 方法,没有取消勾选的方法。我的需求是:勾选后做判断,如果不符合条件则取消勾选。

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

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) 获取已勾选的内容时,与页面显示的数据一致,无需特殊处理。

本文标题为:layui tree组件勾选后做判断,如果不符合条件则取消勾选

基础教程推荐