多个按钮/接口 渲染同一个vue分页表格

1.定义公共变量button
2.每个按钮对应方法里,走完接口 覆盖表格的data时,修改button
3. 在分页器绑定的方法里  通过变量button判断下当前的按钮是哪一个  然后走不同的接口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现这个功能的思路可以是: 1. 在父组件定义一个列表数据源,将其传递给子组件。 2. 在子组件使用 v-for 指令渲染列表,同时监听点击事件,当点击某一项时触发父组件的回调函数。 3. 在父组件的回调函数,根据点击的项的信息,调用接口获取下一级数据,并将其追加到列表数据源。 4. 在子组件,使用分页组件对列表进行分页展示。 以下是示例代码: 父组件: ``` <template> <div> <list :data="list" @clickItem="loadNextLevel"></list> <pagination :total="total" :page.sync="page" @change="loadNextPage"></pagination> </div> </template> <script> import List from './List.vue' import Pagination from './Pagination.vue' import api from './api' export default { components: { List, Pagination }, data() { return { list: [], page: 1, pageSize: 10, total: 0 } }, mounted() { this.loadNextLevel() }, methods: { async loadNextLevel(item) { const data = await api.getNextLevelData(item.id) this.list.push(...data.list) this.total = data.total this.page = 1 }, async loadNextPage(page) { const data = await api.getNextPageData(this.list[0].id, this.pageSize, page) this.list = data.list } } } </script> ``` 子组件 List: ``` <template> <ul> <li v-for="item in data" @click="clickItem(item)"> {{ item.name }} </li> </ul> </template> <script> export default { props: { data: { type: Array, default: () => [] } }, methods: { clickItem(item) { this.$emit('clickItem', item) } } } </script> ``` 子组件 Pagination: ``` <template> <div> <button :disabled="page === 1" @click="changePage(page - 1)">上一页</button> <span>{{ page }} / {{ pageCount }}</span> <button :disabled="page === pageCount" @click="changePage(page + 1)">下一页</button> </div> </template> <script> export default { props: { total: { type: Number, default: 0 }, page: { type: Number, default: 1 }, pageSize: { type: Number, default: 10 } }, computed: { pageCount() { return Math.ceil(this.total / this.pageSize) } }, methods: { changePage(page) { this.$emit('change', page) } } } </script> ``` 其,api.js 文件需要根据具体业务实现接口调用的逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值