学习layui.dtree请前往 http://www.wisdomelon.com/DTreeHelper/

记录一下dtree的自定义扩展toolbar按钮(toolbarExt)

html代码:

            <div style="width:40%;display: inline-block">
<table id="LAY-user-back-serconfig" lay-filter="LAY-user-back-serconfig" class="layui-hidden"></table>
</div>

js代码:


dtree.render({
elem: "#LAY-user-back-serconfig",
data: dataArr, // 使用data加载
width:'280px',
height: "543px",
toolbar: true,
ficon:"3" / ["0", "6"] / "-1" / ["-1", "2"],
icon:"3" / ["0", "6"] / "-1" / ["-1", "2"],
toolbarWay: "follow", // "contextmenu":右键菜单(默认),"fixed":"固定在节点后","follow":"跟随节点动态呈现"
toolbarShow: []
,toolbarFun:{
loadToolbarBefore: function(buttons, param, $div){
// console.log(buttons);
// console.log(param);
// console.log($div);
if(param.level == 1){
buttons.testEdit = "";
buttons.testDel = "";
}
else if(param.level == 3){ // 如果是叶子节点
buttons.testAdd = ""; // 取消新增功能
}
return buttons; // 将按钮对象返回
}
}
,toolbarExt: [
{
toolbarId: "testAdd", icon: "dtree-icon-add-circle", title: "新增", handler: function (node, $div) {
console.log(node.nodeId);
var content, title, url;
if (node.level == 1) {
url = '/monitor/system-info'
content = './serConfigform.html';
title = '新增服务资源信息'
}
if (node.level == 2) {
url = '/monitor/service-resources-info'
content = './serCofigformtwo.html';
title = '新增服务资源系统信息'
}
else if (node.level == 3) {
return false
}
add(node, content, title, url);//调用添加函数
}
},
{
toolbarId: "testEdit", icon: "dtree-icon-bianji", title: "编辑", handler: function (node, $div) {

var content, title, url;
var id = node.nodeId;
if (node.level == 1) {
return false
}
else if (node.level == 2) {
url = '/monitor/system-info/';
content = './serConfigform.html#/id=' + id;
title = '修改服务资源系统信息';

} else if (node.level == 3) {
url = '/monitor/service-resources-info/';
content = './serCofigformtwo.html#/id=' + id
title = '修改服务资源信息'
}
update(node, content, title, url);//调用更新函数
}
},
{
toolbarId: "testDel",
icon: "dtree-icon-roundclose",
title: "删除",
handler: function (node, $div) {
var url;
if (node.level == 1) {
return false
}
else if (node.level == 2) {
url = "/monitor/system-info/";
} else if (node.level == 3) {
url = "/monitor/service-resources-info/"
}
del(node, url);//调用删除函数
// DTree5.partialRefreshDel($div); // 这样即可删除节点
}
}]

});

渲染之后的效果图,规定一级节点只能添加,二级节点可以增、删、改,三级节点可以删除、修改,不能添加。
通过toolbarFun来控制返回的toolbar按钮


layui.dtree的学习,自定义扩展toolbar按钮(toolbarExt)的更多相关文章

  1. Layui数据表格加入自定义扩展方法(重新渲染Render当前页数据)

    具体开发中遇到的问题如下, 数据表格的重新渲染或重新加载会导致当前操作的分页 或 配置被清空.我正在操作第5页,重新渲染后就回到了最原始第1页. 需要达到的效果是: 不调用接口,仅仅只是从table. ...

  2. Silverlight实例教程 - 自定义扩展Validation类,验证框架的总结和建议(转载)

    Silverlight 4 Validation验证实例系列 Silverlight实例教程 - Validation数据验证开篇 Silverlight实例教程 - Validation数据验证基础 ...

  3. asp.net学习之扩展GridView

    原文:asp.net学习之扩展GridView 本节讨论如何从现有的控件,进而扩展成强大的,更定制的GridView控件 1.扩展BoundField 默认的BoundField不能显示多文本,文字一 ...

  4. 代码走查25条疑问 C# 跳转新的标签页 C#线程处理 .Net 特性 attribute 学习 ----自定义特性 看懂 ,学会 .NET 事件的正确姿势-简单版

    代码走查25条疑问   代码走查(Code Review) 是一个开发人员与架构师集中讨论代码的过程.通过代码走查可以提高代码的 质量,同时减少Bug出现的几率.但是在小公司中并没有代码走查的过程在这 ...

  5. 第一步 使用sencha touch cmd 4.0 创建项目、打包(加入全局变量、公用类、自定义扩展、资源文件)

    参考资料: http://www.cnblogs.com/qqloving/archive/2013/04/25/3043606.html http://www.admin10000.com/docu ...

  6. WCF自定义扩展,以实现aop!

    引用地址:https://msdn.microsoft.com/zh-cn/magazine/cc163302.aspx  使用自定义行为扩展 WCF Aaron Skonnard 代码下载位置: S ...

  7. Jquery自定义扩展方法(二)--HTML日历控件

    一.概述 研究了上节的Jquery自定义扩展方法,自己一直想做用jquery写一个小的插件,工作中也用到了用JQuery的日历插件,自己琢磨着去造个轮子--HTML5手机网页日历控件,废话不多说,先看 ...

  8. iOS自定义的UISwitch按钮

    UISwitch开关控件 开关代替了点选框.开关是到目前为止用起来最简单的控件,不过仍然可以作一定程度的定制化. 一.创建 UISwitch* mySwitch = [[ UISwitchalloc] ...

  9. bootstrap基础学习【菜单、按钮、导航】(四)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. iOS学习系列 - 扩展机制category与associative

    iOS学习系列 - 扩展机制category与associative category与associative作为objective-c的扩展机制的两个特性,category即类型,可以通过它来扩展方 ...

随机推荐

  1. 运行Django项目报错

    运行 pip install -r requirements.txt -i https://pypi.douban.com/simple

  2. easyui subGrid实现

    $(function(){ $('#dg').datagrid({ view: detailview, detailFormatter:function(index,row){ return '< ...

  3. vue IE9兼容flex布局 css3(转载)

    原文 https://blog.csdn.net/shihezhengshz/article/details/118860562 写这文章的时候的我,心力憔悴鸭,找了好长时间,呜呜┭┮﹏┭┮ 好了,开 ...

  4. element-ui中el-table设置多选checkbox时,selection-change重复执行,以及选不中问题

    项目中使用了elementUI中el-table的选择框.在另外一个地方展示选中的行的数量.设置显示数量之后,选择框就无法选中,change事件执行两次. 解决办法:给el-table设置row-ke ...

  5. uniapp 上传

    fileList1: [], // uviewui ui组件<u-upload uploadText="上传打款凭证" :fileList="fileList1&q ...

  6. HttpWebResponse 四种accept-encoding解析(gzip, deflate, br,identity)

    HttpWebResponse 四种accept-encoding解析(gzip, deflate, br,identity[默认])            var hwrs = (HttpWebRe ...

  7. createrepo 命令详解

    createrepo 命令用于创建yum源(软件仓库),即为存放于本地特定位置的众多rpm包建立索引,描述各包所需依赖信息,并形成元数据. 语法: createrepo [option] <di ...

  8. Datax初使用

    为了掌握大数据采集技术,自学习了datax的使用 简介: DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.Oracle.HDFS.Hive.OceanBase.H ...

  9. this.$refs 获取的值是undefined

    以下是父组件内的代码截图 如果想取子组件内的方法,参数,等可以试以下两种方法 1.在mounted内使用this.$nextTick(()=>{   }) 2.直接再undated() {} 内 ...

  10. RGB以及文档流

    继承 继承 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...