文档
开发文档地址点击跳转
渲染dom元素 xmSelectUtil.js
< link rel = " stylesheet" href = " /plugin/layui/css/admin.css" >
< script src = " /plugin/layui/lay/modules/xm-select.js" > </ script>
< script src = " /plugin/layui/lay/modules/xm-select.js" > </ script>
< script src = " /js/xmSelectUtil.js" > </ script>
< div class = " layui-inline" >
< label class = " layui-form-label" > 组织机构</ label>
< div class = " layui-input-inline" >
< ul id = " query_organ_tree" data-id = " 0" > </ ul>
</ div>
</ div>
< script>
var organTreeObj = renderselect ( "query_organ_tree" , '请选择组织机构' , true , true , false , "500px" ) ;
$. ajax ( {
url : '/admin/organ/loadOrganListNew' ,
type : 'get' ,
data : { } ,
success : function ( res ) {
if ( res. status == '0' ) {
list = res. data. childList || [ ] ;
var selval = arrayToTree ( list, 0 ) ;
organTreeObj. update ( {
data : selval,
autoRow : true ,
} ) ;
}
}
} ) ;
</ script>
渲染下拉树工具类 xmSelectUtil.js
function renderselect ( id, tips, clickClose, filterable, radio, height ) {
return xmSelect. render ( {
el : "#" + id,
tips : tips,
clickClose : clickClose,
filterable : filterable,
direction : 'down' ,
radio : radio,
tree : {
show : true ,
showFolderIcon : true ,
showLine : true ,
expandedKeys : true ,
} ,
height : height,
data : [ ] ,
model : {
label : { type : 'text' }
}
, on : function ( data ) {
if ( data. isAdd) {
return data. change. slice ( 0 , 1 )
}
} ,
} ) ;
}
function arrayToTree ( arr, pid ) {
var list = [ ] ;
arr. map ( item => {
if ( item. parent == pid) {
var result = {
value : item. id,
name : item. name,
selected : false ,
disabled : false ,
parent : item. parent,
children : [ ]
} ;
list. push ( result) ;
}
} ) ;
list. map ( item => {
item. children = arrayToTree ( arr, item. value) ;
} )
return list;
} ;
function getXmSelectValue ( item ) {
return item. getValue ( 'valueStr' ) ;
}
function setXmSelectValue ( item, value ) {
item. setValue ( value)
}
数据结构
data = [
{
value : "" ,
name : "" ,
selected : false,
disabled : false,
parent : "" ,
children : [ ]
} ,
{
value : "" ,
name : "" ,
selected : false,
disabled : false,
parent : "" ,
children : [ {
value : "" ,
name : "" ,
selected : false,
disabled : false,
parent : "" ,
children : [ ]
} ]
}
]