Vue之sortable实现排序功能

参考文章:https://www.jianshu.com/p/0afef94dfc1d
实现效果:
Vue之sortable实现排序功能_第1张图片
前台代码


在这里插入图片描述
如果需要后端实现排序功能,需要将sortable设置为custom,同时在 Table 上监听sort-change事件,在事件回调中可以获取当前排序的字段名和排序顺序,从而向接口请求排序后的表格数据。

sort-change方法自带三个参数,分别代表意义是:
column:当前列
prop:当前列需要排序的数据
order:排序的规则(升序、降序和默认[默认就是没排序])

JS代码:

 data() {
    return {
      loading: false,
      listData: [],
      addVisible: false,
      currentObj: { U: {}, UAccount: {} },
      queryData: {
        UserName: "",
        CustomerCode: "",
        CustomerName: "",
        role: 0,
        p_Role: "",
        prop : "",
        order : "",
        currentPage: 1,
        pageSize: 10
      },
      EUserP_Role: [],
      p_Role: {},
      ids: []
    };
  },
 methods: {
    sortChange(column,prop,order){
      if(column.prop == null || column.order == null){
        this.queryData.prop = "";
        this.queryData.order = "";
      }else{
         this.queryData.prop = column.prop;
         this.queryData.order = column.order;
      }
      this.getList();
    },
    getList() {
      this.loading = true;
      this.$API.User.List(this.queryData).then(res => {
        this.loading = false;
        this.listData = res;
        this.currentPage = 1;
        this.prop = column.prop;
        this.order = column.order;
      });
    }

通过getList()方法把参数传递到后端,然后后端实现排序功能。

你可能感兴趣的:(Vue之sortable实现排序功能)