const initResponseDatakey = (responseData, keys) => {
// 获取response的所有key 并生成tree供treeSelect使用
if (responseData) {
if (Object.prototype.toString.call(responseData) === '[object Array]') {
// 是数组取第一项
responseData = responseData[0];
}
let currentIndex = 0;
for (const i in responseData) {
if (Object.prototype.toString.call(responseData[i]) === '[object Array]') {
keys.push({ title: i, value: i, children: [] });
for (const j in responseData[i][0]) {
keys[currentIndex].children.push({
title: `${i}.${j}`,
value: `${i}.cbzIndex.${j}`,
children: [],
});
}
} else if (Object.prototype.toString.call(responseData[i]) === '[object Object]') {
keys.push({ title: i, value: i, children: [], disabled: true });
let index = 0;
for (const j in responseData[i]) {
keys[0].children.push({ title: `${i}.${j}`, value: `${i}.${j}`, children: [] });
if (
Object.prototype.toString.call(responseData[i][j]) === '[object Object]' ||
Object.prototype.toString.call(responseData[i][j]) === '[object Array]'
) {
initResponseDatakey(responseData[i][j], keys[currentIndex].children[index++]);
}
}
} else if (keys.children) {
keys.children.push({ title: `${keys.title}.${i}`, value: `${keys.title}.cbzIndex.${i}` });
} else {
keys.push({ title: i, value: i });
}
currentIndex++;
}
}
setApiKey(allKey);
};