vue el-table排序

该博客讨论了如何在Java后端和Vue前端实现排序功能。在Java中,使用@RequestParam注解处理请求参数,根据prop和sort的值来构造排序字符串。而在Vue中,通过监听el-table-column的sortChange事件,更新uwInfo对象的prop和sort属性,并调用getList()方法进行数据刷新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在java中
 @RequestParam(value="prop", required=false) String prop,
							 @RequestParam(value="sort", required=false) String sort,
		/*排序*/
		String sortStr="";
		if ((prop!=""&&prop!=null)&&(sort!=""&&sort!=null)){
			sortStr="order by"+" "+prop+" "+sort;
		}else {
			sortStr="order by id DESC";
		}

vue中

    /*排序*/
            <el-table-column label="金额" width="180px" align="center" sortable="custom" prop="withdraw_count">
          <template slot-scope="scope">
            <span>{{ scope.row.withdrawCount }}</span>
          </template>
        </el-table-column>
    
    sortChange:function(column,prop,order){
      /*      console.log(column)
            console.log(prop)
             console.log(order)*/
      if (column.order=="descending"){
        this.uwInfo.sort="DESC"
        this.uwInfo.prop=column.prop
      }else if (column.order=="ascending") {
        this.uwInfo.sort="ASC"
        this.uwInfo.prop=column.prop
      }
      this.getList()

    },

Vueel-table组件提供了数据排序的功能,可以通过设置column的sortable属性来开启排序功能。当用户点击表头时,会触发表格的排序事件,此时可以获取到当前排序的列和排序的方式(升序或降序),可以将这些信息发送给后台,后台再根据这些信息返回排序过后的数据。 具体实现可以参考以下步骤: 1.el-table-column中设置sortable属性为true,表示该列可以排序。 2. 监听el-table的sort-change事件,获取当前排序的列和排序的方式。 3. 将获取到的排序信息发送给后台,后台根据这些信息返回排序过后的数据。 4. 将返回的数据更新到el-table中,即可实现数据排序。 举个例子,假设我们有一个学生选课系统,使用Vueel-table组件展示选课记录,我们可以按照选课时间、课程名称等字段进行排序。具体实现可以参考以下代码: ``` <template> <el-table :data="tableData" @sort-change="handleSortChange"> <el-table-column prop="courseName" label="课程名称" sortable></el-table-column> <el-table-column prop="selectTime" label="选课时间" sortable></el-table-column> <el-table-column prop="teacherName" label="授课教师"></el-table-column> </el-table> </template> <script> export default { data() { return { tableData: [] } }, methods: { handleSortChange({ column, prop, order }) { // 发送排序信息给后台 this.$axios.post('/api/sort', { column, prop, order }).then(res => { // 更新表格数据 this.tableData = res.data }) } } } </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值