Vue——element table 后端排序实现

element自带的排序是当前页排序,实现全部数据排序的话,需要走接口进行后端排序
1.表格中需要排序的那栏,将sortable设置为custom,同时在 Table 上监听sort-change事件,在事件回调中可以获取当前排序的字段名和排序顺序,从而向接口请求排序后的表格数据

<el-table @sort-change='sortChange'>
       <el-table-column sortable='custom' prop="createTime" label="创建时间">
       </el-table-column>
</el-table>

2.定义methods监听sort-change事件

sortChange: function(column, prop, order) {
      console.log(column + "-" + column.prop + "-" + column.order);
      // 升序ascending 降序descending null默认不排序
      if (column.order == "ascending") {
        this.listQuery.orderType = true;
      } else if (column.order == "descending") {
        this.listQuery.orderType = false;
      }
      //请求后端接口,获取排序后的新数据
      getWaterList(this.listQuery).then(res => {
        if (res.rtnCode == 200) {
          this.total = res.data.totalCount;
          this.list = res.data.data;
          this.listLoading = false;
        }
      });
    },
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下拉菜单可以通过前端的Vue实现后端的Django则提供数据支持。具体实现步骤如下: 1. 在Vue组件中定义下拉菜单的结构,包括一个按钮和下拉菜单的列表。 ``` <template> <div class="dropdown"> <button class="btn" @click="showMenu = !showMenu">下拉菜单</button> <ul v-show="showMenu"> <li v-for="item in menuItems" :key="item.id">{{ item.name }}</li> </ul> </div> </template> ``` 2. 在Vue组件中定义数据和方法,用于控制下拉菜单的显示和隐藏,以及获取后端提供的下拉菜单选项。 ``` <script> export default { data() { return { showMenu: false, // 控制下拉菜单的显示和隐藏 menuItems: [] // 下拉菜单选项 }; }, mounted() { // 在组件挂载时,从后端获取下拉菜单选项 axios.get('/api/menu-items/') .then(response => { this.menuItems = response.data; }) .catch(error => { console.log(error); }); } }; </script> ``` 3. 在Django中定义API接口,用于获取下拉菜单选项的数据。 ``` from django.http import JsonResponse def menu_items(request): items = [ {'id': 1, 'name': '选项1'}, {'id': 2, 'name': '选项2'}, {'id': 3, 'name': '选项3'} ] return JsonResponse(items, safe=False) ``` 4. 在Django中配置路由,将API接口Vue组件对应起来。 ``` from django.urls import path from . import views urlpatterns = [ path('api/menu-items/', views.menu_items), # ... ] ``` 这样,前端的Vue组件就可以通过调用后端的API接口,获取下拉菜单选项的数据,并将其渲染到页面上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值