<template> <div class="index-main" v-if="hackShow"> <PRow :gutter="10" v-for="(row,rowIndex) in portalList" :key="rowIndex"> <PCol :span="colVal" v-for="(colVal,colIndex) in row.layoutCols" :key="colIndex"> <template v-for="(panels,panelIndex) in row.panels[colIndex]"> <PPortalPanel :ref="`cmpPortalPanel${rowIndex}${colIndex}${panelIndex}`" :tabList='panels.columns' :height="panels.height"></PPortalPanel> </template> </PCol> </PRow> </div> </template> <script> import {PRow,PCol} from "@main/components/grid"; import PPortalPanel from "@main/components/portalPanel"; export default { props:{ itemData:Object }, data(){ return { hackShow:false, actived:false } }, components:{ PRow,PCol,PPortalPanel }, computed:{ portalList(){ let pList = this.$store.getters.portalSysList; return pList; } }, methods:{ doRender(){ //强制刷新,只执行一次 if(this.actived)return; this.$nextTick(r=>{ this.hackShow = true; this.actived=true;//判断只执行一次 }) return; // let list = this.portalList,cols,panels; // for(let i=0,l=list.length;i<l;i++){ // cols = list[i].layoutCols; // for(let j=0,k=cols.length;j<k;j++){ // panels = list[i].panels[j]; // for(let n=0,m=panels.length;n<m;n++){ // this.$refs[`cmpPortalPanel${i}${j}${n}`][0].doRender(); // } // } // } } } } </script> <style lang='less' scoped> .index-main{ padding:10px; .pl-portal-panel{ margin-bottom:10px; } } </style>