vue中遍历服务端返回的数组出错?

我在前端接收返回的数据 用了一个递归方法遍历响应数据,总是提示foreach不是一个函数方法

       //进入页面获取部门数据
            async getDepartment() {
                const res = await axios.get('DepartmentList')
                console.log(res.data)
                this.cascaderData = transListToTreeData(res.data.data)
            },

        },
        created() {
            this.getDepartment()
        }

递归函数

function transListToTreeData(list, RootValue = 0) {
    //递归展开服务端返回的扁平数组
    let arr = [];
    list.forEach((item) => {
        //如果数据对象的pid为0 说明数据为根节点
        if (item.pid === RootValue) {
            let children = transListToTreeData(list, item.id); //寻找id等于该对象pid的数据,为它的子节点,返回一个数组
            if (children.length) {
                item.children = children; //往对象添加一个children属性,属性值为一个数组
            }
            arr.push(item);
        }
    });
    return arr;
}

浏览器报错信息如下

阅读 1.5k
2 个回答

你的res.data.data是一个json字符串,不是一个数组,需要JSON.parse转一下

你data是一个字符串

推荐问题
logo
Microsoft
子站问答
访问
宣传栏