数据的制作
/** 树形/级联组件->数据做键,制作与还原
* @param {Array} list
* @param {string} params 源 `json` 的 `key`
* @param {string} key 生成后 `string` 存放的 `key`
* @param {string} children 下一级的 `key` 值
* @returns
*/
export const TreeValueToKey = (list, params = 'params', key = 'key', children = 'children') => {
return list.map((item) => {
if(item[params]) item[key] = JSON.stringify(item[params]);
if(item[children]) item[children] = TreeValueToKey(item[children]);
return item;
})
}
数据的还原
/** 还原树/级联组件选中的key
* @param {String<Object>[]} keys
* @param {Boolean} false: 不进行合并 true: 合并结果数据为一个json
*/
export const recoverSelectKey = (keys, merge = false) => {
const reObj = keys.map((str)=>JSON.parse(str));
if(!merge) return reObj;
else reObj.reduce((previous, current)=>({...previous, ...current}),{});
}
标签:做键,级联,string,param,item,树形,params,key,children
From: https://www.cnblogs.com/qoon-f/p/17831275.html