发布新版

This commit is contained in:
贤心
2019-05-31 14:36:29 +08:00
parent 1ff124de94
commit 27e2295cbc
60 changed files with 2038 additions and 450 deletions

View File

@@ -1,147 +1,218 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>树模块 - layui</title>
<meta charset="utf-8">
<title>树组件 - layui</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="format-detection" content="telephone=no">
<link rel="stylesheet" href="../src/css/layui.css">
<style>
body{padding: 50px 100px;}
</style>
<link rel="stylesheet" href="../src/css/layui.css" media="all">
<style>
body{padding: 150px;}
#test1,#test2{margin-bottom: 100px; width: 400px;}
</style>
</head>
<body>
<ul id="demo"></ul>
<div id="test1"></div>
<div id="test2"></div>
<ul id="demo1" style="margin-top: 50px;"></ul>
<script src="../src/layui.js"></script>
<script src="../dist/layui.js"></script>
<script>
layui.use(['tree', 'layer'], function(){
var tree = layui.tree
,$ = layui.$
,layer = layui.layer
,index = 100;
//数据源
var data1 = [{
label: '一级1'
,id: 1
,children: [{
label: '二级1-1'
,id: 3
,href: 'https://www.layui.com/doc/'
,children: [{
label: '三级1-1-3'
,id: 23
,children: [{
label: '四级1-1-3-1'
,id: 24
,children: [{
label: '五级1-1-3-1-1'
,id: 30
},{
label: '五级1-1-3-1-2'
,id: 31
}]
}]
},{
label: '三级1-1-1'
,id: 7
,children: [{
label: '四级1-1-1-1'
,id: 15
,href: 'https://www.layui.com/doc/base/infrastructure.html'
}]
},{
label: '三级1-1-2'
,id: 8
,children: [{
label: '四级1-1-2-1'
,id: 32
}]
}]
},{
label: '二级1-2'
,id: 4
,children: [{
label: '三级1-2-1'
,id: 9
,disabled: true
},{
label: '三级1-2-2'
,id: 10
}]
},{
label: '二级1-3'
,id: 20
,children: [{
label: '三级1-3-1'
,id: 21
},{
label: '三级1-3-2'
,id: 22
}]
}]
},{
label: '一级2'
,id: 2
,children: [{
label: '二级2-1'
,id: 5
,children: [{
label: '三级2-1-1'
,id: 11
},{
label: '三级2-1-2'
,id: 12
}]
},{
label: '二级2-2'
,id: 6
,children: [{
label: '三级2-2-1'
,id: 13
},{
label: '三级2-2-2'
,id: 14
,disabled: true
}]
}]
},{
label: '一级3'
,id: 16
,children: [{
label: '二级3-1'
,id: 17
,fixed: true
,children: [{
label: '三级3-1-1'
,id: 18
},{
label: '三级3-1-2'
,id: 19
}]
},{
label: '二级3-2'
,id: 27
,children: [{
label: '三级3-2-1'
,id: 28
},{
label: '三级3-2-2'
,id: 29
}]
}]
}];
layui.use('tree', function(){
var tree = layui.tree({
elem: '#demo' //指定元素
//,check: 'checkbox' //勾选风格
,skin: 'as' //设定皮肤
//,target: '_blank' //是否新选项卡打开比如节点返回href才有效
,drag: true
,click: function(item){ //点击节点回调
console.log(item)
}
,nodes: [ //节点
{
name: '常用文件夹'
,id: 1
,alias: 'changyong'
,children: [
{
name: '所有未读'
,id: 11
//,href: 'http://www.layui.com/'
,alias: 'weidu'
}, {
name: '置顶邮件'
,id: 12
}, {
name: '标签邮件'
,id: 13
}
]
}, {
name: '我的邮箱'
,id: 2
,spread: true
,children: [
{
name: 'QQ邮箱'
,id: 21
,spread: true
,children: [
{
name: '收件箱'
,id: 211
,children: [
{
name: '所有未读'
,id: 2111
}, {
name: '置顶邮件'
,id: 2112
}, {
name: '标签邮件'
,id: 2113
}
]
}, {
name: '已发出的邮件'
,id: 212
}, {
name: '垃圾邮件'
,id: 213
}
]
}, {
name: '阿里云邮'
,id: 22
,children: [
{
name: '收件箱'
,id: 221
}, {
name: '已发出的邮件'
,id: 222
}, {
name: '垃圾邮件'
,id: 223
}
]
}
]
var tree1 = tree.render({
elem: '#test1'
,data: data1
,click: function(obj){
layer.msg(JSON.stringify(obj.data))
}
]
});
//生成一个模拟树
var createTree = function(node, start){
node = node || function(){
var arr = [];
for(var i = 1; i < 10; i++){
arr.push({
name: i.toString().replace(/(\d)/, '$1$1$1$1$1$1$1$1$1')
});
,oncheck: function(obj){
console.log(obj);
}
return arr;
}();
start = start || 1;
layui.each(node, function(index, item){
if(start < 10 && index < 9){
var child = [
{
name: (1 + index + start).toString().replace(/(\d)/, '$1$1$1$1$1$1$1$1$1')
}
];
node[index].children = child;
createTree(child, index + start + 1);
,onsearch:function(obj){
console.log(obj);
}
,operate: function(obj){
var type = obj.type;
if(type == 'add'){
//ajax操作返回key值
return index++;
}else if(type == 'edit'){
console.log(obj.elem.find('.layui-tree-txt').html());
}else if(type == 'del'){
console.log(obj);
};
}
,dragend: function(state, obj, target){
console.log(state, obj, target);
}
,showCheckbox: true //是否显示复选框
,key: 'id' //自定义唯一标识的字段名
,checked: [6, 7, 9] //选中节点(依赖于 showCheckbox 以及 key 参数)
,spread: [2, 4, 5] //展开节点(依赖于 key 参数)
,accordion: 0 //是否开启手风琴模式
,expandClick: true //选择在点击节点(true)/箭头图标(false)的时候展开节点
,isJump: 0 //点击文案跳转地址
,renderContent: true //增删改
,showSearch: true //是否打开节点过滤
,draggable: true //是否开启节点拖拽
});
console.log(tree1.getCheck()); //返回当前勾选节点
tree1.setCheck([2, 3]); //设置节点勾选
tree.render({
elem: '#test2'
,data: data1
//,expandClick: false
,showLine: false //关闭连接线
,click: function(obj, state){
console.log(obj[0]);
}
,oncheck: function(obj, checked, child){
if(checked){
console.log(obj[0]);
}
}
,onsearch: function(data, num){
console.log(num);
}
,dragstart: function(obj, parent){
console.log(obj, parent);
}
,dragend: function(state, obj, target){
console.log(state, obj, target);
}
});
return node;
};
layui.tree({
elem: '#demo1' //指定元素
,nodes: createTree()
});
});
</script>
<pre class="layui-code">
# layui.tree-v2 备忘
* check参数 - checkbox、radio的支持
* 拖拽的支持
</pre>
</body>
</html>
</html>