设计一张表格,可以升降排序,表头一共七个,其中一个不需要排序?

作者站长头像
站长
· 阅读数 4

按照element的 :default-sort = "{prop: 'date', order: 'descending'}",我通过过滤数组,得到需要排序的prop,但是效果没有实现。

<el-table-column
          v-for="(item, i) in cols"
          :key="i"
          align="center"
          :prop="item.prop"
          :label="item.label"
          :default-sort="sort"
        >
cols: [
        { prop: "process", label: "工序" },
        {
          prop: "processdetail",
          label: "工序详细",
        },
        { prop: "productcount", label: "生产数量" },
        { prop: "OKcount", label: "OK数量" },
        { prop: "NGcount", label: "NG数量" },
        { prop: "OKpercent", label: "OK率" },
        { prop: "NGpercent", label: "NG率" },
      ],
sort() {
      let sort_prop = this.cols.filter((item) => {
        // console.log(item,'过滤后的');
        return item.prop != "processdetail";
      });
      // console.log(sort_prop);
      return sort_prop.map((item) => {
        return { prop: item.prop, order: "descending" }});
    },
回复
1个回答
avatar
test
2024-06-25

default-sort<el-table> 的属性,写在 <el-table-column> 上是没用的sortable 才是设置排序的属性<el-table-column> 上加 :sortable="item.prop !== 'processdetail'"应该就是你要的效果

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容