iview table怎么接受嵌套的数组对象

iview table的data属性默认是是只接受下面这种格式的非嵌套数组对象

       data: [{
                    name: 'John Brown',
                    age: 18,
                    address: 'New York No. 1 Lake Park',
                    date: '2016-10-03'
                },
                {
                    name: 'Jim Green',
                    age: 24,
                    address: 'London No. 1 Lake Park',
                    date: '2016-10-01'
                }
            ]

但是后端现在返回的数据是嵌套数组对象,类似下面这种:

        data: [{value: 'jiangsu',
                label: '江苏',
                children: [
                    {
                        value: 'nanjing',
                        label: '南京',
                        children: [
                            {
                                value: 'fuzimiao',
                                label: '夫子庙',
                            }
                        ]
                    }
                ]

请问有办法让table接受这种嵌套格式的数据?或者是有什么办法可以把这种嵌套格式的数据处理成table可以接受的格式?

阅读 12.6k
8 个回答

通过render函数解决

新手上路,请多包涵

请问现在解决了吗?我做的是分组表头,是异步更新columns的,一直报错,说有一个死循环更新。

同问啊,我也遇到这个问题。

iwiew中的表格接受的数据格式是固定的,除非你去改源码@_@。只能将获取的数据转成iwew的表格所需要格式。可以写个递归的方法将这种嵌套格式转换成表格所需要的。

新手上路,请多包涵

return h('Div',

                       params.row.你的内嵌数组.map(function(type){ 
                                return h('img', {  
                                attrs: {
                                  src: type
                                }, 
                            });  
                        })  
                    
                    );

本质是一样的,就是将数据中的数组循环

这些回答没有一个是写出来实际怎么操作的,对新手来说很不友好。我查到一篇文章里面有实例,还是比较靠谱的https://www.jianshu.com/p/f44...

clipboard.png

新手上路,请多包涵

            render: function (h, params) {
              if (this.row.node_info[0].hwmodel) {
                return h('div', this.row.node_info[0].hwmodel);
              } else {
                return h('div', this.row.node_info[0].hwtype);
              }
            }

没看懂上面的代码,用render函数确实可以,this.row读取到要输出的行,然后通过JavaScript变量定位到要返回的值,然后return既可。

你这个是要做表格拆分功能吗,

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