修复setValue自定义数据时 操作报错
This commit is contained in:
parent
c6a5080161
commit
54a7bc73fd
2
dist/static/2.js
vendored
2
dist/static/2.js
vendored
File diff suppressed because one or more lines are too long
2
dist/xm-select.js
vendored
2
dist/xm-select.js
vendored
File diff suppressed because one or more lines are too long
@ -3,6 +3,7 @@
|
||||
:::demo
|
||||
```html
|
||||
<div id="demo1" class="xm-select-demo"></div>
|
||||
<button class="layui-btn layui-btn-xs">sdf</button>
|
||||
|
||||
<script>
|
||||
var demo1 = xmSelect.render({
|
||||
@ -10,17 +11,31 @@ var demo1 = xmSelect.render({
|
||||
autoRow: true,
|
||||
paging: true,
|
||||
pageSize: 2,
|
||||
size:'mini',
|
||||
tree: {
|
||||
strict: false,
|
||||
strict: true,
|
||||
show: true,
|
||||
showFolderIcon: true,
|
||||
showLine: true,
|
||||
indent: 20,
|
||||
expandedKeys: [ -1, -2 ],
|
||||
lazy: true,
|
||||
load: function(item, cb){
|
||||
setTimeout(function(){
|
||||
if(item.name.endsWith('2')){
|
||||
return cb([]);
|
||||
}
|
||||
cb([
|
||||
{name: item.name + 1, value: item.value + '1', children: [] },
|
||||
{name: item.name + 2, value: item.value + '2', children: [] },
|
||||
])
|
||||
}, 500)
|
||||
}
|
||||
},
|
||||
model: {
|
||||
icon: 'hidden'
|
||||
icon: 'show'
|
||||
},
|
||||
radio: true,
|
||||
toolbar: {
|
||||
show: true
|
||||
},
|
||||
@ -28,7 +43,7 @@ var demo1 = xmSelect.render({
|
||||
data(){
|
||||
return [
|
||||
{name: '北京市时代峰峻莱克斯顿荆防颗粒受到了开发建设的路口附近', value: -1, children: [
|
||||
{name: '朝阳区', value: 1},
|
||||
{name: '朝阳区', value: 1, children: []},
|
||||
{name: '海淀区', value: 2},
|
||||
{name: '通州区', value: 3},
|
||||
]},
|
||||
@ -40,33 +55,6 @@ var demo1 = xmSelect.render({
|
||||
]
|
||||
},
|
||||
on: function(data){
|
||||
var arr = data.arr;
|
||||
var item = data.change[0];
|
||||
var isAdd = data.isAdd;
|
||||
|
||||
if(isAdd){
|
||||
//检查是否有父节点
|
||||
var parent = item.__node.parent;
|
||||
if(parent){//有父节点,选中的是子节点,移除父节点的选中状态
|
||||
var index = arr.findIndex(function(option){
|
||||
return option.value === parent.value
|
||||
})
|
||||
if(index != -1){
|
||||
arr.splice(index, 1)
|
||||
}
|
||||
}else{//无父节点,选中的是父节点,移除子节点的选中状态
|
||||
var child = item.children;
|
||||
child.forEach(function(childItem){
|
||||
var index = arr.findIndex(function(option){
|
||||
return option.value === childItem.value
|
||||
})
|
||||
if(index != -1){
|
||||
arr.splice(index, 1)
|
||||
}
|
||||
})
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
@ -55,7 +55,7 @@ class Framework extends Component{
|
||||
}
|
||||
|
||||
exchangeValue(arr, dataObj = this.state.dataObj){
|
||||
let list = arr.map(sel => typeof sel === 'object' ? sel : dataObj[sel]).filter(a => a)
|
||||
let list = arr.map(sel => typeof sel === 'object' ? { ...sel, __node: {} } : dataObj[sel]).filter(a => a)
|
||||
let filterGroup = true, { tree } = this.props;
|
||||
if(tree.show && tree.strict === false){
|
||||
filterGroup = false;
|
||||
|
Loading…
Reference in New Issue
Block a user