国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

使用vue的v-for生成table并給table加上序號的實例代碼

2024-05-06 15:25:08
字體:
來源:轉載
供稿:網友

現在有一個使用mybatis的分頁插件生成的table,table中數據是通過vue獲得的 , 前臺顯示使用<tr v-for="item in items">

后臺vue獲取數據使用分頁插件進行查詢然后使用回調,將結果返回給vue的一個model

/** * 分頁控件加載 * @param data */function aspnetPagerInfoIM(pageDataShow,pageModule,resource, modelCallBack) {  var pageDataShow = $("#"+pageDataShow);  var pageModule = $("#"+pageModule);  pageDataShow.empty();  pageModule.empty();  resource.get({    page: '0'  }).then(function(response){    initLaypage(pageDataShow,pageModule,response.data, resource, modelCallBack);    modelCallBack(response.data.content);  })}/** * 初始化分頁組件 * @param page 查詢出來的數據包括分頁信息 * @param resource vue的resource對象 * @param modelCallBack 每次頁面跳轉回調方法 modelCallBack(response.data.content) */function initLaypage(pageDataShow,pageModule,page, resource, modelCallBack) {  var singleInvoke = false  laypage({    cont : pageModule,    pages : page.totalPages, //總頁數    skin : '#fff', //加載內置皮膚    skip: true,    //是否開啟跳頁    groups : 5,    //連續顯示分頁數    hash : true,   //開啟hash    jump : function(obj) {      if(!singleInvoke) {        singleInvoke = true;      }else {        resource.get({          page: obj.curr -1        }).then(function(response){          modelCallBack(response.data.content);        })      }      pageDataShow.empty();      if(page.totalElements>0){        $("<p>共"+page.totalElements+"條記錄,"          +"每頁"+page.size+"條,"          +"當前第 "+obj.curr +"/"+page.totalPages+"頁"          +"</p>").appendTo(pageDataShow);      }    }  });}

需求是:給生成的table添加序號

剛開始使用js的函數

function rownum(){  //首先拿到table中tr的數量 得到一共多少條數據  var len = $("#tableId table tbody tr").length;  //使用循環給每條數據加上序號  for(var i = 1;i<len+1;i++){    $('#tableId table tr:eq('+i+') span:first').text(i);  }}

將上面的方法放在點擊生成table的事件上 , 可以顯示序號,接著點擊分頁的下一頁或者頁數,跳轉到下一頁的時候,序號消失了,

很自然的想到在點擊下一頁后也應該有添加序號的操作,于是找到顯示下一頁數據的方法,加上上面的js方法,結果沒有生效,

個人覺得是查出數據后rownum方法在dom沒刷新前進行了添加,然后dom更新后,序號消失了

通過查找資料最終像下面這樣使用解決了問題 , 在每個出現分頁查詢的地方都加上 Vue.nextTick(function(){})方法

var model={object[]}spnetPagerInfoIM(electricalPageDataShow, electricalPageModule, electricalResource, function(result) {  model.object = result;  Vue.nextTick(function(){    rownum();  });});            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 正安县| 色达县| 重庆市| 柳河县| 石景山区| 法库县| 江口县| 常宁市| 宁德市| 长乐市| 邵阳县| 元朗区| 崇左市| 武强县| 沙河市| 大埔县| 沽源县| 宽甸| 香格里拉县| 都兰县| 共和县| 诸城市| 太保市| 京山县| 蒙阴县| 高雄市| 霍邱县| 闽侯县| 江达县| 成都市| 江华| 吉木乃县| 万载县| 集贤县| 陵川县| 醴陵市| 辽中县| 汶上县| 葵青区| 福海县| 繁昌县|