|
|
@@ -1,11 +1,10 @@
|
|
|
-const tranverse = (e, itemListKey) => {
|
|
|
-
|
|
|
+const tranverse = (e,itemListKey) => {
|
|
|
+
|
|
|
for (let i in e) {
|
|
|
- // if (e[i][itemListKey]) {
|
|
|
-
|
|
|
- // }
|
|
|
- e[i].open = false;
|
|
|
- tranverse(e[i][itemListKey], itemListKey)
|
|
|
+ if (e[i][itemListKey]) {
|
|
|
+ e[i].open = false;
|
|
|
+ tranverse(e[i][itemListKey],itemListKey)
|
|
|
+ }
|
|
|
e[i].selected = false;
|
|
|
}
|
|
|
}
|
|
|
@@ -49,18 +48,16 @@ Component({
|
|
|
const { parentIdKey } = this.data;
|
|
|
for (let i in treeList) {
|
|
|
if (treeList[i][itemListKey]) {
|
|
|
- // if (treeList[i][parentIdKey]) {
|
|
|
-
|
|
|
- // }
|
|
|
- treeList[i].open = false;
|
|
|
- // else {
|
|
|
- // treeList[i].open = true;
|
|
|
- // }
|
|
|
- tranverse(treeList[i][itemListKey], itemListKey);
|
|
|
+ if(treeList[i][parentIdKey]){
|
|
|
+ treeList[i].open = false;
|
|
|
+ }else{
|
|
|
+ treeList[i].open = true;
|
|
|
+ }
|
|
|
+ tranverse(treeList[i][itemListKey],itemListKey);
|
|
|
}
|
|
|
treeList[i].selected = false;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
this.setData({
|
|
|
tree: treeList
|
|
|
})
|
|
|
@@ -73,23 +70,23 @@ Component({
|
|
|
let treeList = data
|
|
|
for (let i in treeList) {
|
|
|
if (treeList[i][itemListKey]) {
|
|
|
- // if (treeList[i][parentIdKey]) {
|
|
|
- treeList[i].open = false;
|
|
|
- // } else {
|
|
|
- // treeList[i].open = true;
|
|
|
- // }
|
|
|
- tranverse(treeList[i][itemListKey], itemListKey);
|
|
|
+ if(treeList[i][parentIdKey]){
|
|
|
+ treeList[i].open = false;
|
|
|
+ }else{
|
|
|
+ treeList[i].open = true;
|
|
|
+ }
|
|
|
+ tranverse(treeList[i][itemListKey],itemListKey);
|
|
|
}
|
|
|
treeList[i].selected = false;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
this.setData({
|
|
|
tree: treeList
|
|
|
})
|
|
|
-
|
|
|
- },
|
|
|
+
|
|
|
+ },
|
|
|
//修改折叠状态
|
|
|
- changeOpen(tree, id, itemListKey, idKey) {
|
|
|
+ changeOpen(tree, id,itemListKey,idKey) {
|
|
|
for (let i = 0; i < tree.length; i += 1) {
|
|
|
if (tree[i][idKey] === id) {
|
|
|
tree[i].open = !tree[i].open;
|
|
|
@@ -101,40 +98,40 @@ Component({
|
|
|
return;
|
|
|
},
|
|
|
onchange(e) {
|
|
|
- console.log("onchange", e)
|
|
|
+ console.log("onchange",e)
|
|
|
const { treeList } = this.data;
|
|
|
const { itemListKey } = this.data;
|
|
|
const { idKey } = this.data;
|
|
|
const { id } = e.currentTarget.dataset;
|
|
|
- this.changeOpen(treeList, id, itemListKey, idKey);
|
|
|
+ this.changeOpen(treeList, id, itemListKey,idKey);
|
|
|
this.triggerEvent('change', id, { bubbles: true, composed: true });
|
|
|
this.setData({
|
|
|
tree: treeList
|
|
|
})
|
|
|
},
|
|
|
change(e) {
|
|
|
- console.log("change", e)
|
|
|
+ console.log("change",e)
|
|
|
const id = e.detail;
|
|
|
const { treeList } = this.data;
|
|
|
const { itemListKey } = this.data;
|
|
|
const { idKey } = this.data;
|
|
|
- this.changeOpen(treeList, id, itemListKey, idKey);
|
|
|
+ this.changeOpen(treeList, id,itemListKey,idKey);
|
|
|
this.setData({
|
|
|
tree: treeList
|
|
|
})
|
|
|
},
|
|
|
// 点击名字
|
|
|
- clickName(e) {
|
|
|
+ clickName(e){
|
|
|
const { idKey } = this.data;
|
|
|
- const { nameKey } = this.data;
|
|
|
-
|
|
|
- this.triggerEvent('clickName', { id: e.currentTarget.dataset.item[idKey], name: e.currentTarget.dataset.item[nameKey] });
|
|
|
-
|
|
|
+ const { nameKey } = this.data;
|
|
|
+
|
|
|
+ this.triggerEvent('clickName', {id:e.currentTarget.dataset.item[idKey],name:e.currentTarget.dataset.item[nameKey]} );
|
|
|
+
|
|
|
},
|
|
|
//点击控件里的控件 回调
|
|
|
- subclickName(e) {
|
|
|
-
|
|
|
- this.triggerEvent('clickName', { id: e.detail.id, name: e.detail.name });
|
|
|
+ subclickName(e){
|
|
|
+
|
|
|
+ this.triggerEvent('clickName', {id:e.detail.id,name:e.detail.name} );
|
|
|
},
|
|
|
click(e) {
|
|
|
console.log("click")
|
|
|
@@ -148,7 +145,7 @@ Component({
|
|
|
id = e.detail[idKey];
|
|
|
}
|
|
|
const { treeList } = this.data;
|
|
|
- this.setStatus(treeList, id, idKey);
|
|
|
+ this.setStatus(treeList, id,idKey);
|
|
|
this.setData({
|
|
|
tree: treeList
|
|
|
})
|
|
|
@@ -163,15 +160,14 @@ Component({
|
|
|
const { treeList } = this.data;
|
|
|
const { idKey } = this.data;
|
|
|
// const value = this.getData(treeList, id)
|
|
|
- this.setStatus(treeList, id, idKey);
|
|
|
+ this.setStatus(treeList, id,idKey);
|
|
|
this.triggerEvent('onclick', { id, value, treeList }, { composed: true, bubbles: true });
|
|
|
this.setData({
|
|
|
tree: treeList
|
|
|
})
|
|
|
},
|
|
|
//切换选中状态
|
|
|
- setStatus(tree, id, idKey) {
|
|
|
- const { itemListKey } = this.data
|
|
|
+ setStatus(tree, id,idKey) {
|
|
|
for (let i = 0; i < tree.length; i += 1) {
|
|
|
if (tree[i][idKey] == id) {
|
|
|
tree[i].selected = true;
|
|
|
@@ -179,23 +175,23 @@ Component({
|
|
|
tree[i].selected = false;
|
|
|
}
|
|
|
if (tree[i][itemListKey]) {
|
|
|
- this.setStatus(tree[i][itemListKey], id, idKey);
|
|
|
+ this.setStatus(tree[i][itemListKey], id,idKey);
|
|
|
}
|
|
|
}
|
|
|
return;
|
|
|
},
|
|
|
//获取选中项信息
|
|
|
- getData(tree, id, idKey) {
|
|
|
+ getData(tree, id,idKey) {
|
|
|
for (let i = 0; i < tree.length; i += 1) {
|
|
|
if (tree[i][idKey] === id) {
|
|
|
return tree[i].name;
|
|
|
}
|
|
|
if (tree[i][itemListKey]) {
|
|
|
- this.getData(tree[i][itemListKey], id, idKey);
|
|
|
+ this.getData(tree[i][itemListKey], id,idKey);
|
|
|
}
|
|
|
}
|
|
|
return '';
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
})
|