• vue 翻页选择导出


    框架Vue2.15.14,后台是Aps.net core Api

    1. <el-table ref="multipleTable" :data="tableData" tooltip-effect="light" style="width: 100%;text-align: center;"
    2. height="400" show-harder @selection-change="handleSelectionChange" border :header-cell-style="{ textAlign: 'center' }" :row-key="getRowKey">
    3. <el-table-column type="selection" width="50" prop="id" :reserve-selection="true" style="text-align:center">
    4. el-table-column>
    5. el-table>

    重点是el-table:@selection-change="handleSelectionChange"

    :row-key="getRowKey"

    首列selection 的 :reserve-selection="true" 能够实现界面翻页显示选中

    Vue.js

    1. export default {
    2. name: 'DlgGarbageBox',
    3. data() {
    4. return {
    5. HandleState: [],
    6. dataPageIsLoading: false, // 数据分页列表是否加载中
    7. searchParam: {
    8. status: "",
    9. key: "",
    10. pageIndex: 1,
    11. pageSize: 10,
    12. orderColumn: null,
    13. orderBy: null,
    14. admin_lettr_ids:""
    15. },
    16. dataTotal: 0,
    17. tableData: [],
    18. currentrow: "",
    19. multipleSelection: "",
    20. selectArr:[],
    21. }
    22. },
    23. methods: {
    24. getRowKey(row) {
    25. return row.id;
    26. },
    27. /**
    28. * 获取分页列表 查询
    29. */
    30. getPage() {
    31. this.dataPageIsLoading = true;
    32. this.$store.dispatch('getAdminLetterPage', this.searchParam).then((res) => {
    33. this.tableData = res.list;
    34. this.dataTotal = res.total;
    35. this.dataPageIsLoading = false;
    36. });
    37. },
    38. handleSelectionChange(rows) {
    39. this.multipleSelection = rows;//每次选择的数据
    40. if (rows.length == 0) this.selectArr = [];
    41. else {
    42. //每次选择的数据存起来
    43. rows.forEach(row => {
    44. if (row) {
    45. if (this.selectArr.indexOf(row.id) == -1)
    46. this.selectArr.push(row.id);
    47. }
    48. });
    49. }
    50. console.log(this.selectArr);
    51. },
    52. //导出
    53. exportAdminLetter(){
    54. console.log(this.selectArr);
    55. this.searchParam.admin_lettr_ids=this.selectArr.join(',');
    56. let request = {
    57. ...this.searchParam
    58. }
    59. this.isRequesting = true;
    60. this.$store.dispatch('exportAdminLetter', request).then(
    61. res => {
    62. this.isRequesting = false;
    63. this.searchParam.admin_lettr_ids="";
    64. this.selectArr=[];
    65. this.$refs.multipleTable.clearSelection();
    66. },
    67. err => {
    68. this.isRequesting = false;
    69. }
    70. );
    71. },
    72. }
    73. }

    效果图:

    不管怎么翻选择的依然都选中,点击导出 参数是选中的三条数据:

    这样就实现了翻页选中导出

  • 相关阅读:
    允许访问:掌握权限的艺术
    uni-app自定义导航栏
    VPP以太网接口模式
    oracle-sql语句解析类型
    阿里巴巴、阿里云Java面试题、笔试题(含答案)
    C++的必备入门学习
    Android gradient 三色渐变背景 Shap
    Gradle中的buildScript代码块
    二叉树所有路径
    LIMS实验室信息管理系统源码 基于计算机的数据处理技术、数据存储技术、网络传输技术、自动化仪器分析技术于一体
  • 原文地址:https://blog.csdn.net/zyzBulus/article/details/132884915