【问题标题】:How to watch directions of pagination in v-data-table vuetify如何在 v-data-table vuetify 中查看分页方向
【发布时间】:2021-01-14 22:23:21
【问题描述】:

我需要向后端发出不同的获取请求 取决于我在桌子上向前还是向后移动。我必须使用什么活动以及如何制作?

【问题讨论】:

    标签: pagination v-data-table


    【解决方案1】:

    您可以使用数据表中的@pagination 事件。它发出一个像这样的对象:

    {page: 2, itemsPerPage: 5, pageStart: 5, pageStop: 10, pageCount: 2}
    

    因此您可以在自定义方法中捕获它并确定“页面”值是高于还是低于当前值,以便知道是向前还是向后。一个例子:

    <template>
    <div>
      <v-data-table
        :headers="headers"
        :items="desserts"
        :items-per-page="5"
        class="elevation-1"
        @pagination="writeLog"
      ></v-data-table>
    </div>
    </template>
    <script>
      export default {
        data () {
          return {
            headers: [
              {
                text: 'Dessert (100g serving)',
                align: 'start',
                sortable: false,
                value: 'name',
              },
              { text: 'Calories', value: 'calories' },
              { text: 'Fat (g)', value: 'fat' },
              { text: 'Carbs (g)', value: 'carbs' },
              { text: 'Protein (g)', value: 'protein' },
              { text: 'Iron (%)', value: 'iron' },
            ],
            desserts: [
              {
                name: 'Frozen Yogurt',
                calories: 159,
                fat: 6.0,
                carbs: 24,
                protein: 4.0,
                iron: '1%',
              },
              {
                name: 'Ice cream sandwich',
                calories: 237,
                fat: 9.0,
                carbs: 37,
                protein: 4.3,
                iron: '1%',
              },
              {
                name: 'Eclair',
                calories: 262,
                fat: 16.0,
                carbs: 23,
                protein: 6.0,
                iron: '7%',
              },
              {
                name: 'Cupcake',
                calories: 305,
                fat: 3.7,
                carbs: 67,
                protein: 4.3,
                iron: '8%',
              },
              {
                name: 'Gingerbread',
                calories: 356,
                fat: 16.0,
                carbs: 49,
                protein: 3.9,
                iron: '16%',
              },
              {
                name: 'Jelly bean',
                calories: 375,
                fat: 0.0,
                carbs: 94,
                protein: 0.0,
                iron: '0%',
              },
              {
                name: 'Lollipop',
                calories: 392,
                fat: 0.2,
                carbs: 98,
                protein: 0,
                iron: '2%',
              },
              {
                name: 'Honeycomb',
                calories: 408,
                fat: 3.2,
                carbs: 87,
                protein: 6.5,
                iron: '45%',
              },
              {
                name: 'Donut',
                calories: 452,
                fat: 25.0,
                carbs: 51,
                protein: 4.9,
                iron: '22%',
              },
              {
                name: 'KitKat',
                calories: 518,
                fat: 26.0,
                carbs: 65,
                protein: 7,
                iron: '6%',
              },
            ],
          }
          currentPage = 1
        },
        methods: {
           writeLog(paginationObject){
                let action
                console.log(paginationObject);
                this.currentPage < paginationObject.page ? action = 'forward' : action ='backguard'
                this.currentPage = paginationObject.page
                console.log(action)
                //Write code to call your backend using action...
            }
        },
    
      }
    </script>
    

    【讨论】:

    • 我做了这个,但是如果我在请求中只读取来自后端的部分数据,我的前端不知道任何向前或向后的数据。我怎么能手动告诉他我有数据可以向前或向后读取?从一开始,我只能从后端读取第一个 perPage 元素和所有存储数据的长度。
    • 要实现这一点,您必须在后端创建一个分页系统。主要框架集成了对此功能的支持。
    猜你喜欢
    • 1970-01-01
    • 2019-12-13
    • 2020-02-26
    • 2019-11-10
    • 2020-12-13
    • 2019-11-19
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    相关资源
    最近更新 更多