vuejs+elementui实现表格翻页保持勾选状态

前几天要做一个功能就是表格翻页保持勾选状态的,然后我用的是vuejs 和 elementui框架,当时琢磨了好久,但是到最后做出来发现,其实还是挺简单的,现在记录一下,方便以后查阅。
首先是点击按钮的时候弹出弹框,然后里面是一个table,然后当选中数据之后,点击确定的话,就将选中的数据传回父组件,如果点击取消的话,就不勾选。

1.A页面的按钮,点击按钮会弹出弹框

点击按钮弹出弹框

2.弹出dialog组件,dialog组件里面的table也做成了一个组件称table组件,勾选要要选的数据,翻页后也保存勾选状态

选择数据

3.当点击dialog组件的确定按钮之后,将勾选的数据传给A页面,如果点击取消就不影响原来的数据

点击确定后给父组件返回选中的数据
我这个模块是将弹窗做成一个组件(dialog组件),然后dialog组件里面的内容也是一个组件(page组件),在page组件里面的table也是一个组件(table组件),所以当我点击table组件的复选框之后要将数据传给page组件,然后点击了确定之后才将最终的数据传递给A页面的。

ps:因为原本的需求是弹框内会有很多内容且其他页面会复用,所以弹框里面的内容也做成一个组件,但是这里只是一个简单的demo,所以就只是展示了一个table而已。实际可以直接将table组件放在dialog组件里面就好了。

ok,交代清楚,开始撸代码:

1、弹框组件:my-dialog.vue,通过父组件传递的showDialogState来控制显示隐藏
<template>
  <div>
    <el-dialog
      title="选择资源"
      width="80%"
      :visible.sync="showDialogState"
      :close-on-click-modal="false"
      :close-on-press-escape="false"
      :show-close="false"
    >
      <slot></slot>
    </el-dialog>
  </div>
</template>

<script>
export default {
  props: {
    showDialogState: { type: Boolean, default: false } // 父组件传递用于控制弹框显示隐藏
  }
}
</script>
2、page组件:获取表格数据就用自己的接口吧,然后将获取到的表格数据传递给table组件
<template>
  <div>
    <myTable
      :tab
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值