需要是级联框能抉择任意层级的节点,然而 cascader 目前只反对抉择叶子节点(最初一级)。那么如何实现这个需要。
思考得出了以下几个方向:
1. 更换一个有抉择任意一级性能的级联库:
目前找到只有 elementUI 的级联,毛病与以后我的项目框架、api 有差别,切换有肯定老本
2. 本人手动造一个轮子
毛病是开发成本最高,给的工夫不多,撸进去后须要思考很多因素、测试等等
3. 在以后 cascader 源码上间接附加性能:
浏览源码后发现代码量不大,新增性能老本绝对较低,最初抉择了这个办法。最初通过一番寻找发现了这个组件能够参加开源奉献。最初实现这个需要并进行了测试。而后给 cascader 作者提交了本人的代码,最初也容许通过了(也是十分的开心😄)。
github 地址(心愿能给个 start 反对一下🙏):https://github.com/booms21/la…
应用办法:
1. 引入 layui
2. 引入 cascader 及 css,并在应用的时候应用 layui 关联蕴含这个模块
3. 传入属性 canParentSelect:true,默认为 false
var cas=cascader({
elem: "#a",
data: data,// 树结构
// url: "/aa",
// type: "post",
// triggerType: "change",
// showLastLevels: true,
// where: {
// a: "aaa"
// },
value: ["B", "BB2", "BBB4"],
// changeOnSelect: true,
canParentSelect:true,// 是否可抉择任意一级,同时也能用在懒加载
success: function (valData,labelData) {console.log(valData,labelData);
}
});