avue 怎么实现自定义排序

没啥时间,简单粗暴,直接上代码

1.配置项配置

export const tableOption = {
  border: true,
  index: true,
  indexLabel: '序号',
  stripe: true,
  menu:false,
  height:500,
  menuWidth:100,
  menuAlign: 'center',
  stripe:false,
  align: 'center',
  editBtn: false,
  delBtn: false,
  addBtn: false,
  column: [
    {
      label: 'xxx',//要排序的表头名字
      prop: 'xxx',//表头字段,跟接口一致
      sortable: 'custom'//自定义排序要设置的值
    },
 ]
}

第二步,xx.vue文件

<avue-crud ref="crud"
                     :page="page"
                     :data="tableData"
                     :table-loading="tableLoading"
                     :option="tableOption"
                     :row-style="rowStyle"
                     @search-change="searchChange"
                     @size-change="sizeChange"
                     @search-reset="searchReset"
                     @current-change="currentChange"
                     @refresh-change="refreshChange"
                     @row-update="handleUpdate"
                     @row-save="handleSave"
                     @sort-change="sortChange"//自定义排序函数
                     @row-del="rowDel">
</avue-crud>

export default {
  name: "",
  data () {
    return {

  },
  created () {
    
  },
  mounted: function () { },
  computed: {
    
  },
  methods: {
    // 自定义排序
    sortChange (val) {
      switch (val.prop) {
        case "xx"://这里是需要排序的字段的prop值
       
          break;
        case "xxxx":
         
          break;
     
        default:
          break;
      }
    },
  
  },
};

好的,以下是一个简单的示例代码,结合官方avue实现拖拽排序,仅供参考: ```html <template> <div> <avue-table :data="tableData" :columns="columns" :drag-config="dragConfig" :options="options" /> </div> </template> <script> export default { data() { return { tableData: [ { id: 1, name: "A" }, { id: 2, name: "B" }, { id: 3, name: "C" }, { id: 4, name: "D" }, { id: 5, name: "E" } ], columns: [ { label: "排序", field: "order" }, { label: "ID", field: "id" }, { label: "名称", field: "name" } ], dragConfig: { draggable: true, group: "tableData", onEnd: this.handleDragEnd }, options: { index: true } }; }, methods: { handleDragEnd(e) { // 获取拖拽后的排序数据 const sortedData = e.models.map((model) => { return { id: model.id, order: model.order }; }); // 更新数据源中的排序信息 this.tableData = this.tableData.map((item) => { const sortedItem = sortedData.find((sortedItem) => sortedItem.id === item.id); return { ...item, order: sortedItem.order }; }); } } }; </script> ``` 在上面的代码中,我们使用了官方avueavue-table组件,并在其中添加了drag-config属性,指定了拖拽排序的相关参数,包括启用拖拽排序、分组名称和拖拽排序结束后的回调函数。 我们还在表格中添加了一个排序列,并在模板中通过options.index设置开启序号显示。 在handleDragEnd回调函数中,我们获取拖拽后的排序数据,并更新数据源中的排序信息。 需要注意的是,以上代码仅为示例,具体实现方式还需要根据具体的需求进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值