【问题标题】:sortable issue in element-uielement-ui中的可排序问题
【发布时间】:2019-07-19 19:13:12
【问题描述】:

我已经使用 Element-ui 编写了表格代码。我需要可排序的列,但是它不起作用。我不知道是什么原因。是不是数据格式不对?

非常感谢

<el-table v-loading="listLoading" :data="list">
  <el-table-column type="selection" >&nbsp;</el-table-column>
  <el-table-column label="NO" fixed width="100" sortable><template slot-scope="scope">{{ scope.row.number }}</template></el-table-column>
  <el-table-column v-for="head in formThead" :key="head.value" :label="head.title" :min-width="head.celwidth ==null ? 100: head.celwidth" :sortable="head.sortable">
    <template slot-scope="scope">
      {{ scope.row[head.value] }}
    </template>
  </el-table-column>
</el-table>


formThead: [
    { value: 'dest', title: 'Dest', celwidth: 110, sortable: true }, { value: 'date', title: 'Date' }, { value: 'pcs', title: 'PCS', celwidth: 80 }],

list:[
  {"number": "2", "dest": "AAA", "date": "2019-01-01", "pcs": "2"},
  {"number": "3", "dest": "ABB", "date": "2019-01-02", "pcs": "1"},
  {"number": "4", "dest": "CAA", "date": "2019-02-11", "pcs": "3"},
  {"number": "6", "dest": "DEA", "date": "2019-03-01", "pcs": "5"}
 ]

【问题讨论】:

    标签: vue.js element-ui


    【解决方案1】:

    要使排序工作,您需要将数据中的键传递给道具,即 el-table-column 中的 prop="number"。例如。如果要对 Number 列进行排序。您需要添加 prop="number" 或任何您想要与您用于表格的数组中的数据相对应的键

    <el-table-column label="NO" prop="number" fixed width="100" sortable>
        <template slot-scope="scope">{{scope.row.number}}</template>
    </el-table-column>
    

    以及使用另一列排序的代码的完整解决方案

    <el-table v-loading="listLoading" :data="list">
          <el-table-column type="selection" >&nbsp;</el-table-column>
          <el-table-column label="NO" fixed width="100" prop="number" sortable><template slot-scope="scope">{{ scope.row.number }}</template></el-table-column>
          <el-table-column v-for="head in formThead" :key="head.value" :prop="head.value" :label="head.title" :min-width="head.celwidth ==null ? 100: head.celwidth" :sortable="head.sortable">
            <template slot-scope="scope">
              {{ scope.row[head.value] }}
            </template>
          </el-table-column>
    </el-table>
    

    【讨论】:

      猜你喜欢
      • 2011-02-11
      • 2011-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-25
      • 2014-07-02
      相关资源
      最近更新 更多