element-ui el-table表格排序sortable参数解析

表格组件的排序功能,点击排序表头可以进行升序和降序进行排序


页面代码,基本上排序的参数都使用了
复制代码
<el-table
  :data="tableData"
  style="width: 100%"
  <!-- 数据由后台进行排序时sortable="custom",需要监听排序点击事件,会返回当前的prop和order -->
  @sort-change="changeSort"
  <!-- default-sort指定的默认排序,默认用date这一列排序,排序为升序,默认的排序也是升序 -->
  :default-sort="{prop: 'date', order: 'ascending'}"
  border>
  <el-table-column
    prop="date"
    label="日期"
    <!-- 如果需要对表格的那一列进行排序,加一个sortable参数,可取的值有true,false,custom -->
    sortable
    <!-- sort-orders接收一个数组,用来指定点击可排序表头时排列的顺序,默认是['ascending', 'descending', null]点击时先升序ascending,再点击降序descending,再点击不排序null,按表格的默认索引排.可以自己设置排列顺序 -->
    :sort-orders="['ascending', 'descending']"
    width="180">
  </el-table-column>
  <el-table-column
    prop="name"
    label="姓名"
    <!-- sort-by指定数据按哪个属性进行排序,如果不指定,就是按这里的prop值排,指定一个时写成字符串形式:sort-by="name",指定多个时,使用数组.这里的效果就是,当姓名的值全部一样时,就按address进行排序 -->
    :sort-by="['name', 'address']"
    sortable
    width="180">
  </el-table-column>
  <el-table-column
    prop="address"
    label="地址"
    <!-- 以上的参数排序都是在已得到的tableData数据上进行排序,如果数据做了分页当前的数据不是全部的数据时,排序就需要后台进行排序,这时需要把sortable的值改为custom,在table中用sort-change事件监听排序点击事件 -->
    sortable="custom">
  </el-table-column>
</el-table>

methods: {
  // 从后台获取数据,重新排序
  changeSort (val) {
    console.log(val) // column: {…} order: "ascending" prop: "date"
    // 根据当前排序重新获取后台数据,一般后台会需要一个排序的参数

  }
}
复制代码

 

posted @   潇湘羽西  阅读(72464)  评论(1编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2018-06-22 element-ui表单验证(电话,邮箱)
点击右上角即可分享
微信分享提示