Ant designe vue中有关<a-list>组件中 实现分页以及复选框效果

最近在做新的需求,使用到了list列表展示数据,但是场景中需要使用到复选的问题,看了官方文档,没有对应实现,以下是看了很多文档整理之后的结果,可以直接使用。
话不多说 上代码
 <a-list item-layout="vertical" size="large" :pagination="pagination" :data-source="listData"
      :itemLayout="'vertical'" :selected="selectedItems" @clear-selected="clearSelected">
      <a-list-item slot="renderItem" key="item.billId" slot-scope="item, index">
        <template slot="actions">
        
        </template>
        <div style="font-size: 18px;color: rgb(0, 0, 0);">
          <input type="checkbox" :checked="isSelected(item)" @change="toggleSelected(item)">
          业务类型: {{ item.businessType }}
        </div>
      </a-list-item>
    </a-list>
return {
 		selectedItems: [], //选中信息
        listData: [],
        pagination: {
          showSizeChanger: true,
          // showQuickJumper: true,
          total: 0,
          // 设置页面变化时的回调,调用methods中的onChange方法
          onChange: this.onChange,
          // 设置每页显示条数变化时的回调
          onShowSizeChange: this.onShowSizeChange,
        }
        }
computed: {
      //计算当前是否已经全部勾选
      isAllSelected() {
        return this.selectedItems.length == this.listData.length
      }
    },
methods: {
// 页面变化时的回调
      onShowSizeChange(current, size) {
        this.pagination.pageSize = size
        this.Paging_request_data(current, size)
      },
      onChange(page, pageSize) {
        console.log(page, pageSize)
        this.Paging_request_data(page, pageSize)
      },
      // 分页请求数据
      Paging_request_data(currentPage, pageSize) {
        // 设置请求参数
        this.queryParam.pageNum = currentPage
        this.queryParam.pageSize = pageSize
        // 调用接口
        this.getList()
      },
       isSelected(index) {
        return this.selectedItems.includes(index)
      },
      toggleSelected(index) {
        const idx = this.selectedItems.indexOf(index)
        if (idx == -1) {
          this.selectedItems.push(index)
        } else {
          this.selectedItems.splice(idx, 1)
        }
      },
      selectAll() {
        if (this.isAllSelected) {
          this.selectedItems = []
        } else {
          this.selectedItems = this.listData
        }
      },
      clearSelected() {
        this.selectedItems = []
      },
}

OK完成啦 看效果
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

还算善良_

如果对你的工作有所帮助,拜托啦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值