vue 使用js将查出的数据源中的某个属性拼接为字符串

如题,因为一个用户有多个角色,所以需要将用“/”将roleName进行拼接显示
image.png
数据源获取代码如下:
(注释部分为我写的,但是foreach报错了)

getFacUserList({
        pageIndex: this.page,
        pageSize: this.displayLength,
        ...this.queryVo
      }).then(res => {
        // var arrRoleId = [];
        // res.data.list.roleInfos.forEach(element => {
        //     arrRoleId.push(element.roleName)
        // })
        // arrRoleId = arrRoleId.join('/')
        // res.data.list.roleIds = arrRoleId
        this.total = res.data.totalCount
        this.list = res.data.list
        console.log(this.list)
        this.listLoading = false
        this.maxPage = Math.ceil(this.total / this.displayLength)
        this.pageArr = window.fp.range(1)(this.maxPage + 1)
        console.log(this.total)
      })

报错:
image.png

阅读 3k
2 个回答
this.list.forEach(item => {
    item.roleIds = item.roleInfos.map(info => info.roleName).join('/')
})

类似这种问题,你得认真看报错内容,提问的时候也得把报错贴出来,不然别人不好判断。

看起来是你的 list 用的有问题,它本身是数组,你直接用 .roleInfos 当然取不出来,后面的连续 . 就会报错了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题