vue 翻页选择导出

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

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

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

:row-key="getRowKey"

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

Vue.js

export default {
name: 'DlgGarbageBox',
data() {
        return {
            HandleState: [],
            dataPageIsLoading: false, // 数据分页列表是否加载中
            searchParam: {
                status: "",
                key: "",
                pageIndex: 1,
                pageSize: 10,
                orderColumn: null,
                orderBy: null,
                admin_lettr_ids:""
            },
            dataTotal: 0,
            tableData: [],
            currentrow: "",
            multipleSelection: "",
            selectArr:[],
        }
    },
methods: {
getRowKey(row) {
            return row.id;
        },
/**
         * 获取分页列表 查询
         */
        getPage() {
            this.dataPageIsLoading = true;
            this.$store.dispatch('getAdminLetterPage', this.searchParam).then((res) => {
                this.tableData = res.list;
                this.dataTotal = res.total;

                this.dataPageIsLoading = false;
            });
        },
handleSelectionChange(rows) {
            this.multipleSelection = rows;//每次选择的数据
            if (rows.length == 0) this.selectArr = [];
            else {
                //每次选择的数据存起来
                rows.forEach(row => {
                    if (row) {
                        if (this.selectArr.indexOf(row.id) == -1)
                            this.selectArr.push(row.id);
                    }
                });
            }
            console.log(this.selectArr);
        },
//导出
        exportAdminLetter(){
            console.log(this.selectArr);
            this.searchParam.admin_lettr_ids=this.selectArr.join(',');
            let request = {
                ...this.searchParam
            }

            this.isRequesting = true;

            this.$store.dispatch('exportAdminLetter', request).then(
                res => {
                    this.isRequesting = false;
                    this.searchParam.admin_lettr_ids="";
                    this.selectArr=[];
                    this.$refs.multipleTable.clearSelection();
                },
                err => {
                    this.isRequesting = false;
                }
            );
        },
    }
}

效果图:

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

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
问题描述: 在Vue中实现翻页功能后,选择框默认不生效。 解决方法: 1. 确保选择框的默认值正确设置: 在Vue中,可以通过 v-model 指令将数据双向绑定到选择框上。确保数据初始化时正确设置了选择框的默认值。可以在选择框的选项中使用 v-bind 来动态设置默认值,或者在数据初始化时直接设置默认选中的值。 例如: ```html <select v-model="currentPage"> <option v-for="page in pageCount" :key="page" :value="page">{{ page }}</option> </select> ``` 在上面的代码中,v-model="currentPage" 将选择框与数据的 currentPage 属性双向绑定。确保 currentPage 的默认值正确设置。 2. 确保翻页选择框的绑定值更新: 如果选择框的选项是根据翻页动态生成的,需要确保选择框的绑定值在翻页时及时更新。可以通过监听翻页事件,在事件触发时更新选择框的绑定值。 例如: ```javascript methods: { onPageChange(page) { this.currentPage = page; } } ``` 在上面的代码中,onPageChange 方法是翻页事件的回调函数。在该方法中,更新选择框的绑定值。 3. 确保选择框的监听事件正确绑定: 如果选择框的选项需要触发其他操作,例如重新加载数据或刷新页面等,需要确保监听事件正确绑定。 例如: ```html <select v-model="currentPage" @change="onPageChange"> <option v-for="page in pageCount" :key="page" :value="page">{{ page }}</option> </select> ``` 在上面的代码中,@change="onPageChange" 将选择框的 change 事件与 onPageChange 方法绑定。 通过以上步骤,可以确保在Vue中实现翻页功能后,选择框默认能够生效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

新时代丘鸣山

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值