美文网首页
级联选择器递归操作

级联选择器递归操作

作者: 汪槑槑2017 | 来源:发表于2018-11-08 17:00 被阅读25次

    var mapObj = {

                    value: 'code',

                    label: 'name',

                    children: 'list'

                };    //  级联要求的数据格式

    var treeObj = [

                {

                    code: 'beijing',

                    name: '北京',

                    list: [               

                        {

                            code: 'tiantan',

                            name: '天坛',

                            list:[]

                        }

                    ]

                }

            ];  //  回台返回的数据格式

            console.log(converTree(treeObj,mapObj)

            function converTree (tree, map) {

                const result = [];

                tree.forEach((item) => {

                    // 读取 map 的键值映射

                    let value = item[ map.value ];

                    let label = item[ map.label ];

                    let children = item[ map.children ];

                    // 如果有子节点,递归

                    if (children) {

                        children = converTree(children, map);

                    }

                    result.push({ value, label, children });

                })

                return result

            }

    相关文章

      网友评论

          本文标题:级联选择器递归操作

          本文链接:https://www.haomeiwen.com/subject/bzvwxqtx.html