微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

El-table-column prop 在一个数组中有几个值

如何解决El-table-column prop 在一个数组中有几个值

我想在表格列上显示(我使用的是 Element-UI),这是一个在特定数组中具有多个值的道具。就我而言,它是设置中的数组,它有 2 个最大值、一个标签一个辅助标签。我想获取显示标签的特定值作为数组 (value1,value2)。如果我使用属性prop="settings.0.label"prop="settings.1.label",我可以获取它,但我需要同时显示两者。这是数组结构的图像。 Array

这里也是表列的代码

<el-table-column prop="settings" label="Status" sortable
    :sort-orders="['ascending','descending']" />
<el-table-column>

解决方法

您可以使用自定义模板在单元格中定义您自己的内容。

var Main = {
    data() {
      return {
        tableData: [{
          name: 'Tom',settings: [{
            value: 'first'
          },{
            value: 'second'
          }]
        },{
          name: 'John',{
            value: 'second'
          }]
        }]
      }
    }
  }
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')
@import url("//unpkg.com/element-ui@2.15.1/lib/theme-chalk/index.css");
<script src="//unpkg.com/vue/dist/vue.js"></script>
<script src="//unpkg.com/element-ui@2.15.1/lib/index.js"></script>

<div id="app">
  <template>
    <el-table ref="filterTable" :data="tableData" style="width: 100%">
      <el-table-column prop="name" label="Name" width="180"></el-table-column>
      <el-table-column label="Status">
        <template slot-scope="scope">
          {{ scope.row.settings[0].value }} - {{ scope.row.settings[1].value }}
        </template>
      </el-table-column>
    </el-table>
  </template>
</div>

或者您可以定义自己的格式化程序:

var Main = {
    methods: {
      formatter(row,column) {
        return `${row.settings[0].value} - ${row.settings[1].value}`
      }
    },data() {
      return {
        tableData: [{
          name: 'Tom',{
            value: 'second'
          }]
        }]
      }
    }
  }
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')
@import url("//unpkg.com/element-ui@2.15.1/lib/theme-chalk/index.css");
<script src="//unpkg.com/vue/dist/vue.js"></script>
<script src="//unpkg.com/element-ui@2.15.1/lib/index.js"></script>

<div id="app">
  <template>
    <el-table ref="filterTable" :data="tableData" style="width: 100%">
      <el-table-column prop="name" label="Name" width="180"></el-table-column>
      <el-table-column prop="settings" label="Status" :formatter="formatter"></el-table-column>
    </el-table>
  </template>
</div>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。