最近根據需要,做了一個基於layui的無限級聯選擇器,樣式仿照elementUI
1. html元素
<div class="layui-form-item">
<label class="layui-form-label">選擇框</label>
<div class="layui-input-block">
<input type="text" id="a" class="layui-input" readonly="readonly">
</div>
</div>
2. js引用
layui.use(['form',"jquery","cascader"], function(){
var $ = layui.jquery;
var cascader = layui.cascader;
var data = [
{
value: 'A',
label: 'a',
children: [
{
value: 'AA1',
label: 'aa1',
},
{
value: 'BB1',
label: 'bb1'
}
]
},
{
value: 'B',
label: 'b',
}
]
cascader({
elem: "#a",
data: data,
// url: "/aa",
// type: "post",
// triggerType: "change",
// showLastLevels: true,
// where: {
// a: "aaa"
// },
value: ["A", "AA1"],
success: function (data) {
console.log(data);
}
});
});
3. cascader參數說明
1. elem:input容器 2. data:需要的靜態數據,類型為數組, 3. url:異步獲取的數據,類型為數組,(data與url兩個參數二選一) 4. type:異步獲取的方式,默認get,可省略 5. where:異步傳入的參數,可省略 6. triggerType:觸發方式,不填或其他都為click,可選參數"change",即鼠標移入觸發 7. showLastLevels:輸入框是否只顯示最后一級,默認false,即全顯示 8. value:傳入的初始值,類型為數組,值為data的value值 9. success:回調函數,選擇完成之后的回調函數,返回值為value數組
4. 如圖:

5. 在線demo
