Commit 75803add585bfcf03cfa177b2bed357322e93bc6

Authored by huanghong
1 parent eec3859c

fixed scoll bar

examples/routers/table.vue
... ... @@ -9,6 +9,8 @@
9 9 <br><br><br><br><br>
10 10 <Table border :columns="columns6" :data="data5"></Table>
11 11 <br><br><br><br><br>
  12 + <Table border :columns="columns7" height="240" :data="data7"></Table>
  13 + <br><br><br><br><br>
12 14 </div>
13 15 </template>
14 16 <script>
... ... @@ -103,19 +105,19 @@
103 105 }
104 106 ]
105 107 },
  108 + // {
  109 + // title: 'Gender',
  110 + // key: 'gender',
  111 + // align: 'center',
  112 + // width: 200,
  113 + // fixed: 'right'
  114 + // },
106 115 {
107 116 title: 'Gender',
108 117 key: 'gender',
109 118 align: 'center',
110 119 width: 200,
111   - fixed: 'right'
112   - },
113   - {
114   - title: 'Gender',
115   - key: 'gender',
116   - align: 'center',
117   - width: 200,
118   - fixed: 'right'
  120 + //fixed: 'right'
119 121 }
120 122 ],
121 123 columns2: [
... ... @@ -342,6 +344,55 @@
342 344 }
343 345 }
344 346 ],
  347 +
  348 + columns7: [
  349 + {
  350 + title: 'Date',
  351 + key: 'date',
  352 + sortable: true,
  353 + width:200,
  354 + },
  355 + {
  356 + title: 'Name',
  357 + key: 'name',
  358 + width:200,
  359 + },
  360 + {
  361 + title: 'Age',
  362 + key: 'age',
  363 + },
  364 + {
  365 + title: 'Address',
  366 + key: 'address',
  367 + width:200,
  368 + }
  369 + ],
  370 + data7: [
  371 + {
  372 + name: 'John Brown',
  373 + age: 18,
  374 + address: 'New York No. 1 Lake Park',
  375 + date: '2016-10-03'
  376 + },
  377 + {
  378 + name: 'Jim Green',
  379 + age: 24,
  380 + address: 'London No. 1 Lake Park',
  381 + date: '2016-10-01'
  382 + },
  383 + {
  384 + name: 'Joe Black',
  385 + age: 30,
  386 + address: 'Sydney No. 1 Lake Park Sydney No. 1 Lake Park',
  387 + date: '2016-10-02'
  388 + },
  389 + {
  390 + name: 'Jon Snow',
  391 + age: 26,
  392 + address: 'Ottawa No. 2 Lake Park Ottawa No. 2 Lake Park Ottawa No. 2 Lake Park',
  393 + date: '2016-10-04'
  394 + }
  395 + ],
345 396 }
346 397 },
347 398 mounted () {
... ...
src/components/table/table-head.vue
... ... @@ -61,7 +61,7 @@
61 61 </div>
62 62 </th>
63 63  
64   - <th v-if="$parent.showVerticalScrollBar" :rowspan="headRows.length"></th>
  64 + <th v-if="$parent.showVerticalScrollBar && rowIndex===0" :class='scrollBarCellClass()' :rowspan="headRows.length"></th>
65 65 </tr>
66 66 </thead>
67 67 </table>
... ... @@ -131,6 +131,23 @@
131 131 }
132 132 ];
133 133 },
  134 + scrollBarCellClass(){
  135 + let hasRightFixed = false;
  136 + for(var i in this.headRows){
  137 + for(var j in this.headRows[i]){
  138 + if(this.headRows[i][j].fixed === 'right') {
  139 + hasRightFixed=true;
  140 + break;
  141 + }
  142 + if(hasRightFixed) break;
  143 + }
  144 + }
  145 + return [
  146 + {
  147 + [`${this.prefixCls}-hidden`]: hasRightFixed
  148 + }
  149 + ];
  150 + },
134 151 itemClasses (column, item) {
135 152 return [
136 153 `${this.prefixCls}-filter-select-item`,
... ...
src/components/table/table.vue
... ... @@ -896,6 +896,10 @@
896 896 height () {
897 897 this.handleResize();
898 898 this.fixedHeader();
  899 + },
  900 + showHorizontalScrollBar () {
  901 + this.handleResize();
  902 + this.fixedHeader();
899 903 }
900 904 }
901 905 };
... ...