Layui - xm-select第三方组件Tree模式下获取选中的非叶子节点数据
·
xm-select版本:1.2.4 Gitee
现在xm-select的on回调中返回的arr、change数据都是叶子节点的数据,想要获取选中的非叶子节点的数据,就只有通过getValue()获取选中的数据后,遍历获取的数据,根据optgroup属性获取到选中的非叶子节点,这种方式能在最终submit前获取。
获取选中的数据:
可以看到非叶子节点是有一个optgroup属性的,这个属性的官方解释如下:
可以理解为这个属性为true的节点就是一个分组节点,我的理解是tree模式下,分组节点就是tree的非叶子节点,所以通过这种方式获取选中的非叶子节点数据就有点曲线救国的意思了
核心代码
form.on('submit(auditForm)', function (data) {
console.log(getNonLeafNodeData(resourceSelect.getValue()));
});
// 获取非叶子节点数据
function getNonLeafNodeData(selectArr){
var rArr = [];
$.each(selectArr,function(index,value){
if(true == value.optgroup){
rArr.push(value);
}
if(value.children.length > 0){
rArr = rArr.concat(getNonLeafNodeData(value.children));
}
});
return rArr;
}
测试结果
若此方法有误,请随时指正!
更多推荐
已为社区贡献7条内容
所有评论(0)