• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    element ui分頁多選,翻頁記憶的實例

    來源:懂視網 責編:小采 時間:2020-11-27 21:51:24
    文檔

    element ui分頁多選,翻頁記憶的實例

    element ui分頁多選,翻頁記憶的實例:先說需求:實時記錄當前選中的分頁中的列表,分頁保存數據,然后在用選中的數據進行某些操作;PS:左下角的數字為記錄的當前選中的列表的和 直接上可用的代碼,前提已配置好各種環境 HTML部分 <!--table組件需要使用ref=table--> <
    推薦度:
    導讀element ui分頁多選,翻頁記憶的實例:先說需求:實時記錄當前選中的分頁中的列表,分頁保存數據,然后在用選中的數據進行某些操作;PS:左下角的數字為記錄的當前選中的列表的和 直接上可用的代碼,前提已配置好各種環境 HTML部分 <!--table組件需要使用ref=table--> <

    先說需求:實時記錄當前選中的分頁中的列表,分頁保存數據,然后在用選中的數據進行某些操作;PS:左下角的數字為記錄的當前選中的列表的和

    直接上可用的代碼,前提已配置好各種環境

    HTML部分

    <!--table組件需要使用ref="table"-->
    <template>
     <div>
     <el-table :data="tableData" ref="table" stripe style="width: 100%" @selection-change="handleSelectionChange">
     <el-table-column type="selection" width="55"></el-table-column>
     <el-table-column prop="name" label="商品名稱"></el-table-column>
     <el-table-column prop="barcode" label="商品編碼"></el-table-column>
     <el-table-column prop="quantity" label="區域總庫存"></el-table-column>
     </el-table>
     <div class="block" v-show="page.pageTotal>10">
     <el-pagination @current-change="handleCurrentChange" :current-page.sync="page.currentPage" :page-size="page.pnum" layout="total, prev, pager, next , jumper" :total="page.pageTotal">
     </el-pagination>
     </div>
     <div>
     {{multipleSelectionAll.length}}
     </div>
     </div>
    </template>

    JS部分

    export default {
     data(){
     return {
     tableData: [], // 表格數據 
     multipleSelectionAll:[],//所有選中的數據包含跨頁數據
     multipleSelection:[],// 當前頁選中的數據
     idKey: 'barcode', // 標識列表數據中每一行的唯一鍵的名稱
     page:{
     //每頁數據量
     pnum:10,
     //數據總數
     pageTotal:0,
     //當前頁,從1開始
     currentPage:1,
     }
     }
     },
     methods: {
     handleCurrentChange(){
     this.changePageCoreRecordData();
     if(!this.$isNull(this.page.pageTotal)) this.getGoodsList();
     },
     handleSelectionChange (val) {
     this.multipleSelection = val;
     //實時記錄選中的數據
     setTimeout(()=>{
     this.changePageCoreRecordData();
     }, 50)
     },
     setSelectRow() {
     if (!this.multipleSelectionAll || this.multipleSelectionAll.length <= 0) {
     return;
     }
     // 標識當前行的唯一鍵的名稱
     let idKey = this.idKey;
     let selectAllIds = [];
     let that = this;
     this.multipleSelectionAll.forEach(row=>{
     selectAllIds.push(row[idKey]);
     })
     this.$refs.table.clearSelection();
     for(var i = 0; i < this.tableData.length; i++) { 
     if (selectAllIds.indexOf(this.tableData[i][idKey]) >= 0) {
     // 設置選中,記住table組件需要使用ref="table"
     this.$refs.table.toggleRowSelection(this.tableData[i], true);
     }
     }
     },
     // 記憶選擇核心方法
     changePageCoreRecordData () {
     // 標識當前行的唯一鍵的名稱
     let idKey = this.idKey;
     let that = this;
     // 如果總記憶中還沒有選擇的數據,那么就直接取當前頁選中的數據,不需要后面一系列計算
     if (this.multipleSelectionAll.length <= 0) {
     this.multipleSelectionAll = this.multipleSelection;
     return;
     }
     // 總選擇里面的key集合
     let selectAllIds = [];
     this.multipleSelectionAll.forEach(row=>{
     selectAllIds.push(row[idKey]);
     })
     let selectIds = []
     // 獲取當前頁選中的id
     this.multipleSelection.forEach(row=>{
     selectIds.push(row[idKey]);
     // 如果總選擇里面不包含當前頁選中的數據,那么就加入到總選擇集合里
     if (selectAllIds.indexOf(row[idKey]) < 0) {
     that.multipleSelectionAll.push(row);
     }
     })
     let noSelectIds = [];
     // 得到當前頁沒有選中的id
     this.tableData.forEach(row=>{
     if (selectIds.indexOf(row[idKey]) < 0) {
     noSelectIds.push(row[idKey]);
     }
     })
     noSelectIds.forEach(id=>{
     if (selectAllIds.indexOf(id) >= 0) {
     for(let i = 0; i< that.multipleSelectionAll.length; i ++) {
     if (that.multipleSelectionAll[i][idKey] == id) {
     // 如果總選擇中有未被選中的,那么就刪除這條
     that.multipleSelectionAll.splice(i, 1);
     break;
     }
     }
     }
     })
     },
     //請求接口部分
     getGoodsList(){
     let data = {};
     data['page'] = this.page.currentPage;
     data['pnum'] = this.page.pnum;
     this.$ajax({
     url:'goods/list',
     data:data
     }).then(val => {
     this.tableData = val.data.rows ? val.data.rows : [];
     this.page = {
     pnum:10,
     pageTotal:val.data.total,
     currentPage:val.data.page,
     };
     setTimeout(()=>{
     this.setSelectRow();
     }, 50)
     })
     }
     },
     created () {
     this.getGoodsList()
     }
     }
    
    

    代碼可直接粘貼到項目中使用,親測可用,傻瓜式代碼

    以上這篇element ui分頁多選,翻頁記憶的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    element ui分頁多選,翻頁記憶的實例

    element ui分頁多選,翻頁記憶的實例:先說需求:實時記錄當前選中的分頁中的列表,分頁保存數據,然后在用選中的數據進行某些操作;PS:左下角的數字為記錄的當前選中的列表的和 直接上可用的代碼,前提已配置好各種環境 HTML部分 <!--table組件需要使用ref=table--> <
    推薦度:
    標簽: 例子 示例 記憶
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 久久免费精品一区二区| 久久91精品国产91久久麻豆| 成人精品在线视频| 久久99精品国产麻豆不卡| 99久久成人国产精品免费| 亚洲国产精品成人一区| 国产午夜亚洲精品理论片不卡 | 精品国内片67194| 亚洲av日韩精品久久久久久a| 久久精品国产国产精品四凭| 国产成人久久久精品二区三区| 精品一卡2卡三卡4卡免费视频| 精品人无码一区二区三区| 中文字幕日韩精品有码视频| 欧美精品色精品一区二区三区| 国产偷国产偷高清精品| 国产精品1024视频| 91久久精品电影| 777被窝午夜精品影院| 久久国产精品久久| 精品国产综合成人亚洲区| 99久久99这里只有免费的精品| 国产精品99精品无码视亚| 久久精品99久久香蕉国产色戒 | 一本一本久久A久久综合精品| 精品无人区无码乱码毛片国产| 99热成人精品免费久久| 日韩精品国产自在久久现线拍| 精品免费tv久久久久久久| 91精品欧美综合在线观看| 久久精品午夜一区二区福利| 日韩精品真人荷官无码| 日韩精品无码一区二区三区不卡| 亚洲一区爱区精品无码| 亚洲精品无码久久久影院相关影片 | 综合久久精品色| 无码精品黑人一区二区三区| 亚洲国产精品一区二区久久hs| 无码精品视频一区二区三区| 热re99久久6国产精品免费| 久久ww精品w免费人成|