vue页面前端初始化表格数据时报错TypeError: data.reduce is not a function

这是初始化表格数据时报的错 。

[Vue warn]: Invalid prop: type check failed for prop "data". Expected Array, got Object 

found in

---> <ElTable> at packages/table/src/table.vue
       <List> at src/views/org/List.vue
         <Catalogue> at src/views/catalogue.vue
           <ElMain> at packages/main/src/main.vue
             <ElContainer> at packages/container/src/main.vue
               <Index2> at src/views/index-2.vue
                 <ElMain> at packages/main/src/main.vue
                   <ElContainer> at packages/container/src/main.vue
                     <Index> at src/views/index.vue
                       <App> at src/App.vue
                         <Root>
TypeError: data.indexOf is not a function
    at VueComponent.updateCurrentRowData (element-ui.common.js:10472:1)
    at VueComponent.setData (element-ui.common.js:11154:1)
    at module.exports.watcher.commit (element-ui.common.js:11284:1)
    at VueComponent.handler (element-ui.common.js:14030:1)
    at invokeWithErrorHandling (vue.esm.js:3753:1)
    at Watcher.run (vue.esm.js:4270:1)
    at flushSchedulerQueue (vue.esm.js:3346:1)
    at Array.eval (vue.esm.js:3879:1)
    at flushCallbacks (vue.esm.js:3801:1)
TypeError: root.forEach is not a function
    at walkTreeNode (element-ui.common.js:10300:1)
    at VueComponent.normalize (element-ui.common.js:10566:1)
    at VueComponent.normalizedData (element-ui.common.js:10521:1)
    at Watcher.get (vue.esm.js:4182:1)
    at Watcher.evaluate (vue.esm.js:4283:1)
    at VueComponent.computedGetter [as normalizedData] (vue.esm.js:4508:1)
    at VueComponent.updateTreeData (element-ui.common.js:10587:1)
    at invokeWithErrorHandling (vue.esm.js:3753:1)
    at Watcher.run (vue.esm.js:4270:1)
    at flushSchedulerQueue (vue.esm.js:3346:1)
TypeError: data.reduce is not a function
    at Proxy.render (element-ui.common.js:11829:1)
    at Vue._render (vue.esm.js:2550:1)
    at VueComponent.updateComponent (vue.esm.js:3096:1)
    at Watcher.get (vue.esm.js:4182:1)
    at Watcher.run (vue.esm.js:4258:1)
    at flushSchedulerQueue (vue.esm.js:3346:1)
    at Array.eval (vue.esm.js:3879:1)
    at flushCallbacks (vue.esm.js:3801:1)

这些报错,其实看第一段代码就可以了,意思就是需要的数组,但是你给了一个object,所以造成了下面一连串的报错。

Invalid prop: type check failed for prop "data". Expected Array, got Object 

 我们定位到代码中报错的那行代码,打印出data的数据看下

可以看到打印出的信息是 :Service Unavailable==》Unable to find instance for org

意思就是无效的服务器 ,找不到org的实例,这就是后端的问题了,其实是后端的org服务没有注册到注册中心,找后端同事查查原因。

我用的注册中心是nacos,问题原因是org服务配置文件中namespace的值 填错了,改正之后正常。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
这个误是因为在使用 ant-design-vue 的 table 组件渲染表格数据时,给 dataSource 属性传递了一个对象而不是数组。根据引用\[1\]中的解决方法,你需要将 seldata 的赋值改为使用 push 方法添加数据到 seldata 中,而不是直接赋值为一个对象。具体来说,你需要将 seldata=row 改为 seldata.push(row)。这样就能解决这个误了。引用\[1\]中还提到了其他一些相关的信息,比如使用 Element-UI 组件进行开发时也可能出现类似的问题,以及一些关于数组操作函数的返回值的总结。但是这些信息与你的问题没有直接关联,所以在回答中不需要引用到它们。 #### 引用[.reference_title] - *1* [Error in render: “TypeError: data.slice is not a function](https://blog.csdn.net/qq_52855464/article/details/125995353)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [[Vue warn]: Error in render: “TypeError: data.reduce is not a function“报详解](https://blog.csdn.net/weixin_44370837/article/details/121034549)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DN金猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值