vue实现table表格里面数组多层嵌套取值

下面就是具体的步骤。

步骤

  1. 首先,在table组件中,需要在columns中定义表格的列信息,每个列的field属性对应每一行数据的字段名。
    javascript
    columns: [
    {label:'ID',field:'id'},
    {label:'用户名',field:'userName'},
    {label:'手机号码',field:'phone'},
    {label:'订单信息',field:'orderList'},
    ]
  2. 其次,在数据源中,需要给orderList字段赋值,这个字段是一个多层嵌套的数组。例如:
    javascript
    data: [
    {id:'1',userName:'张三',phone:'123456789',orderList:[
    {orderId:'1',price:'100',product:{'name':'苹果','color':'红色'}},
    {orderId:'2',price:'200',product:{'name':'香蕉','color':'黄色'}},
    ]},
    {id:'2',userName:'李四',phone:'987654321',orderList:[
    {orderId:'3',price:'300',product:{'name':'菠萝','color':'黄色'}},
    {orderId:'4',price:'400',product:{'name':'橙子','color':'橙色'}},
    ]}
    ]
  3. 然后,在表格中,可以通过formatter属性来对指定列的值进行格式化,这里就可以对orderList字段进行处理,返回需要展示的内容。
    javascript
    {label:'订单信息',field:'orderList',formatter:function(row,column,value){
    let orderHtml = '';
    for(let i=0;i<value.length;i++){
    orderHtml += `<p>订单编号:${value[i].orderId}</p>
    <p>订单价格:${value[i].price}</p>
    <p>商品名称:${value[i].product.name}</p>
    <p>商品颜色:${value[i].product.color}</p>`;
    }
    return orderHtml;
    }}
  4. 最后,就可以渲染出多层嵌套数组的数据了。

示例

示例1

如果数据源中的字段名为price,则在表格列中定义如下:
javascript
{label:'商品价格',field:'price'}

即可渲染出商品价格这一列的数据。

示例2

如果数据源中的字段名为product,需要展示该条数据中的颜色这一字段,则在表格列中定义如下:
javascript
{label:'商品颜色',field:'product',formatter:function(row,column,value){
return value.color;
}}

即可渲染出商品颜色这一列的数据。

至此,vue实现table表格里面数组多层嵌套取值的完整攻略结束。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue实现table表格里面数组多层嵌套取值 - Python技术站

(0)
上一篇 2023年5月29日
下一篇 2023年5月29日

相关文章

  • 浅谈使用mpvue开发小程序需要注意和了解的知识点

    浅谈使用mpvue开发小程序需要注意和了解的知识点 什么是mpvue mpvue 是一个使用 Vue.js 开发小程序的神器,它基于 Vue.js 核心,使用了小程序原生 API, 可以使开发者使用 Vue.js 开发小程序,并且代码可以进行复用。由此得益,我们可以在小程序开发中享受到 Vue.js 带来的双向绑定、过滤器、组件化等便捷的开发体验。 注意点 …

    Vue 2023年5月27日
    00
  • vue微信分享 vue实现当前页面分享其他页面

    针对”vue微信分享 vue实现当前页面分享其他页面”这一话题,我提供以下的完整攻略: 1. 微信分享的原理 微信分享的原理是通过wx.config和wx.ready两个JS-SDK函数的设置,将需要分享的内容传递给微信服务器,生成分享链接。生成的分享链接是根据当前页面的URL生成的,因此我们需要在不同页面上对应不同的分享信息进行设置。 2. 配置微信 JS…

    Vue 2023年5月27日
    00
  • 解决vue.js提交数组时出现数组下标的问题

    当使用Vue.js提交表单数据数组时,会出现一个常见的问题,即无法获取到数组的下标,导致后台无法正确处理提交的数据。解决这个问题的方法很简单,本文将提供一些完整的攻略,帮助您解决这个问题。 问题分析 接下来的代码创建了一个表单,其中包含了一个可变长度的input数组。我们尝试提交这个表单,并触发表单提交事件: <form @submit.prevent…

    Vue 2023年5月29日
    00
  • mpvue开发音频类小程序踩坑和建议详解

    mpvue开发音频类小程序踩坑和建议详解 1. 前言 mpvue 是一个基于 Vue.js 核心的高性能小程序开发框架。它传承了 Vue.js 的语法风格和开发习惯,在小程序开发中尽可能的减少了学习成本和上手难度。同时,mpvue 利用 Webpack 和 Vue.js 的自身特性,将组件和业务逻辑代码进行分离抽离,维护更加方便易用。 在开发小程序中,音频类…

    Vue 2023年5月27日
    00
  • 探究Vue.js 2.0新增的虚拟DOM

    探究Vue.js 2.0新增的虚拟DOM 在Vue.js 2.0中,引入了虚拟DOM,它是在DOM上的一个抽象层。使用虚拟DOM有以下几个优点: 性能优化。虚拟DOM可以避免不必要的DOM操作,减少了重绘和回流次数,提升了渲染效率。 跨平台开发。虚拟DOM可以在不同平台上实现原生DOM上没有的特性,例如React Native中的Flexbox布局。 更好的…

    Vue 2023年5月28日
    00
  • 使用 Vue 绑定单个或多个 Class 名的实例代码

    下面是详细讲解使用Vue绑定单个或多个Class名的实例代码的完整攻略: Vue绑定单个Class名 示例说明: 在模板中使用v-bind或简写形式:来绑定class,需要将要绑定的class名作为一个JavaScript表达式。 方式一:对象语法 绑定单个class名的方式一:对象语法 <template> <div :class=&qu…

    Vue 2023年5月28日
    00
  • vue + elementUI实现省市县三级联动的方法示例

    下面我将为您详细讲解“vue + elementUI实现省市县三级联动的方法示例”的完整攻略。 1. 确定数据来源 实现省市县三级联动功能,首先需要确定数据来源,可以在后端中获取,也可以使用前端数据。本文以前端数据为例,数据格式如下: const regionData = [ { value: ‘110000’, label: ‘北京市’, children…

    Vue 2023年5月28日
    00
  • Vue3中操作dom的四种方式总结(建议收藏!)

    关于Vue3中操作dom的四种方式总结,建议收藏!这个主题,我们可以分成四个部分来介绍。 直接操作DOM(不推荐) 我们先来看第一种方式,直接操作DOM。在Vue3中,这种方式已经不再被推荐使用。由于直接操作DOM可能会造成状态和视图的不一致,可能还会影响性能。不过我们还是需要知道如何使用这种方式,以便我们可以避免它。 在Vue3中,我们可以使用 ref 来…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部