174 lines
4.2 KiB
Markdown
174 lines
4.2 KiB
Markdown
|
# 输入框树形选择
|
|||
|
|
|||
|
layui需要引入 **ztree** 模块
|
|||
|
|
|||
|
js
|
|||
|
|
|||
|
```html
|
|||
|
<script src="assets/js/common/layui-input-tree.js"></script>
|
|||
|
```
|
|||
|
|
|||
|
初始化
|
|||
|
|
|||
|
```js
|
|||
|
var layuiInputTree = new LayuiInputTree(layui);
|
|||
|
```
|
|||
|
|
|||
|
···
|
|||
|
|
|||
|
## 渲染
|
|||
|
|
|||
|
### 单选
|
|||
|
|
|||
|
html
|
|||
|
|
|||
|
```html
|
|||
|
<div class="layui-input-block">
|
|||
|
<input type="hidden" id="roleId">
|
|||
|
<input type="text" id="roleName" class="layui-input" placeholder="勾选角色">
|
|||
|
</div>
|
|||
|
```
|
|||
|
|
|||
|
js
|
|||
|
|
|||
|
```js
|
|||
|
layuiInputTree.initSelect({
|
|||
|
id: 'roleName',
|
|||
|
url: 'api/role/listztree',
|
|||
|
key: {
|
|||
|
id: 'roleId',
|
|||
|
name: 'roleName',
|
|||
|
title: 'roleName',
|
|||
|
pId: 'roleParentId',
|
|||
|
checked: 'checked',
|
|||
|
children: 'subs',
|
|||
|
isParent: 'isParent',
|
|||
|
isHidden: 'isHidden',
|
|||
|
url: 'url',
|
|||
|
},
|
|||
|
defaultParams: {id: '123123'},
|
|||
|
selectedData: {id: '', name: ''}
|
|||
|
onConfirm: function(zTree, selectedNode) {
|
|||
|
if(!selectedNode) {
|
|||
|
$('#roleId').val('');
|
|||
|
return;
|
|||
|
}
|
|||
|
$('#roleId').val(selectedNode.id);
|
|||
|
},
|
|||
|
onClear: function(zTree) {}
|
|||
|
})
|
|||
|
```
|
|||
|
|
|||
|
参数
|
|||
|
|名称|类型|描述|是否必填|
|
|||
|
|-|-|-|-|
|
|||
|
|url|string|请求地址|是|
|
|||
|
|id|string|触发选择的input输入框ID|是|
|
|||
|
|key|obj|返回列表对象与ztree节点匹配的字段。id:节点id;name:名称;title:标题,pId:上级ID;checked:是否选中;isParent:是否父节点;isHidden:是否隐藏;url:节点链接。以上属性均为非必填|否|
|
|||
|
|defaultParams|obj|请求默认携带的参数|否|
|
|||
|
|getSelectedData|function|返回已经选择的数据|否|
|
|||
|
|onConfirm|function|点击确定按钮后触发|否|
|
|||
|
|onClear|function|点击清除按钮后触发|否|
|
|||
|
|
|||
|
方法
|
|||
|
|
|||
|
getSelectedData:返回ztree回显时的数据
|
|||
|
|
|||
|
事件
|
|||
|
|
|||
|
onConfirm:树形列表点击确定按钮后触发
|
|||
|
|
|||
|
|名称|类型|描述|
|
|||
|
|-|-|-|
|
|||
|
|zTree|obj|ztree对象|
|
|||
|
|selectedNode|obj|选择的节点|
|
|||
|
|
|||
|
onClear:树形列表点击清空按钮后触发
|
|||
|
|
|||
|
|名称|类型|描述|
|
|||
|
|-|-|-|
|
|||
|
|zTree|obj|ztree对象|
|
|||
|
|
|||
|
### 多选
|
|||
|
|
|||
|
html
|
|||
|
|
|||
|
```html
|
|||
|
<div class="layui-input-block">
|
|||
|
<input type="hidden" id="roleIds">
|
|||
|
<input type="text" id="roleNames" class="layui-input" placeholder="勾选角色">
|
|||
|
</div>
|
|||
|
```
|
|||
|
|
|||
|
js
|
|||
|
|
|||
|
```js
|
|||
|
var selectedRoles = [{id:'', name:''}]
|
|||
|
layuiInputTree.initMultiSelect({
|
|||
|
id: 'roleNames',
|
|||
|
url: 'api/role/listztree',
|
|||
|
key: {
|
|||
|
id: 'roleId',
|
|||
|
name: 'roleName',
|
|||
|
title: 'roleName',
|
|||
|
pId: 'roleParentId',
|
|||
|
checked: 'checked',
|
|||
|
children: 'subs',
|
|||
|
isParent: 'isParent',
|
|||
|
isHidden: 'isHidden',
|
|||
|
url: 'url',
|
|||
|
},
|
|||
|
checkboxType: {Y: '', N: ''},
|
|||
|
defaultParams: {id: '123123'},
|
|||
|
getSelectedDatas: function() {
|
|||
|
return [{id:'', name:''}]
|
|||
|
},
|
|||
|
onConfirm: function (zTree, selectedNodes) {
|
|||
|
// 将返回结果保存,回显时用
|
|||
|
if (selectedNodes.length == 0) {
|
|||
|
$('#roleIds').val('');
|
|||
|
return;
|
|||
|
}
|
|||
|
var roleIds = '';
|
|||
|
$.each(selectedNodes, function (index, item) {
|
|||
|
if (roleIds != '') {
|
|||
|
roleIds += ',';
|
|||
|
}
|
|||
|
roleIds += item.id;
|
|||
|
})
|
|||
|
$('#roleIds').val(roleIds);
|
|||
|
}
|
|||
|
})
|
|||
|
```
|
|||
|
|
|||
|
参数
|
|||
|
|名称|类型|描述|是否必填|
|
|||
|
|-|-|-|-|
|
|||
|
|url|string|请求地址|是|
|
|||
|
|id|string|触发选择的input输入框ID|是|
|
|||
|
|key|obj|返回列表对象与ztree节点匹配的字段。id:节点id;name:名称;title:标题,pId:上级ID;checked:是否选中;isParent:是否父节点;isHidden:是否隐藏;url:节点链接。以上属性均为非必填|否|
|
|||
|
|checkboxType|obj|复选框类型,Y 属性定义 checkbox 被勾选后的情况;N 属性定义 checkbox 取消勾选后的情况;"p" 表示作会影响父级节点;"s" 表示操作会影响子级节点。默认均为"ps"|否|
|
|||
|
|defaultParams|obj|请求默认携带的参数|否|
|
|||
|
|getSelectedDatas|function|返回已经选择的数据列表|否|
|
|||
|
|onConfirm|function|点击确定按钮后触发|否|
|
|||
|
|onClear|function|点击清除按钮后触发|否|
|
|||
|
|
|||
|
方法
|
|||
|
|
|||
|
getSelectedDatas:返回ztree回显时的数据列表
|
|||
|
|
|||
|
事件
|
|||
|
|
|||
|
onConfirm:树形列表点击确定按钮后触发
|
|||
|
|
|||
|
|名称|类型|描述|
|
|||
|
|-|-|-|
|
|||
|
|zTree|obj|ztree对象|
|
|||
|
|selectedNodes|array|触发选择的节点列表|
|
|||
|
|
|||
|
onClear:树形列表点击清空按钮后触发
|
|||
|
|
|||
|
|名称|类型|描述|
|
|||
|
|-|-|-|
|
|||
|
|zTree|obj|ztree对象|
|