ElementUIテーブル連結セル

3054 ワード

コードは次のとおりです.
:data="listData":span-method="objectSpanMethod"class="tableArea"style="width:100%">prop="type"label="シーケンス番号"align="center"width="200"/>prop="sheetType"label="作業指示タイプ"//>prop="taskKey"label="taskKey"/>prop="templateUrl"label="templateUrl"/>label="操作"          >                                                                                                                                                 <br> <br>export default {<br>  name:'myNeedDeal',<br>  data() {<br>    return {<br>      rowList:[],<br>      spanArr:[],<br>      position:0,<br>      listData:[]<br>    }<br>  },<br> <br>  methods:{<br>      queryData(){ <br> .el-select {<br>   margin-right: 15px;<br> }<br> .el-input {<br>   margin-right: 15px;<br>   width: 200px;<br> }<br> .tableArea {<br>   margin-top: 20px;<br>   box-shadow: 0 0 8px 0 #aaa;<br> }<br> i[class^="el-icon"] {<br>   margin-right: 5px;<br>   font-size: 16px;<br>   cursor: pointer;<br> }<br> .modify_table{<br>     td{<br>         padding: 10px ;<br>     }<br> }<br> .item_title{<br>     text-align: right;    <br> }<br>
 
 
詳細:
:span-method="objectSpanMethod"  
これは公式に与えられたバインド属性と対応する方法であり、objectSpanMethodは{row,column,rowIndex,columnIndex}に伝達された.
row:前進する
column:先頭に立つ
rowIndex:現在の行番号
columnIndex:現在の列番号
この関数は、2つの要素を含む配列を返すことができ、1つ目の要素はrowspanを表し、2つ目の要素はcolspanを表す.rowspancolspanという名前のオブジェクトを返すこともできます.
this.spanArr    ,             
この例で印刷するthis.spanArrは[3,0,0,3,0,0]であり、例えば、最初の要素は3であり、最初の行は3行(すなわち、最初の行のrowspanは3)を下にマージすべきであり、2番目の要素のrowspanは0であり、それを「消滅」させる.
rowspan()           this.spanArr    ,       rowspan
rowspan()関数、if(index==0)、最初の行は、配列pushに直接1を入力し、自分が先に1行を占めていることを示します.positionは配列要素の位置(この場合は配列要素の最初の位置から始まるのでthis.positionは0)、this.positionが0を意味するのは配列の最初の要素である.
indexが2の場合、if(this.listData[index].type==this.listData[index-1].type)は、2行目を1行目と比較し、
2行目が1行目と等しい場合、これは.positionは+1で、n行の最初の行がある場合は同じです.positionはnであり、n行を下にマージすることを示す.2行目は自分でthis.spanArr.push(0)は、2行目が「消える」ことを表します.1行目と2行目が合併したからでしょう.
2行目と1行目が等しくなければ、これは.spanArr.push(1);2行目を自分で1行独占させます.this.position=indexとは、ポインタをindexの行に持ってきて、配列を設定することを意味する.spanArr[this.position]の要素値を定義し、この行から数行下にマージすることを定義します(この文では、indexが3の場合、this.positionが3、indexが4の場合、4行目と3行目を合わせる必要があります.配列のthis.position要素は+1、つまりthis.spanArr[this.position]+=1)
最後の一言
const _col = _row>0 ? 1 : 0;
定義されたこのセル列のマージは、私たちのプロジェクトは行だけをマージし、並列に合わない.
_row:連結行を表す行数,rowの値は1、またはより大きな自然正の整数、または0です.
1代表:排他的な行
より大きな自然数:複数のローがマージされたことを示します.
0:「消える」のどのセルを表し、後ろのセルを前に1つ押す