ex-table-column
v1.1.2
Published
Extended to element table column, supports column width to be automatically adjusted according to content, supports all attributes of el-table-column, compatible el-table-column.
Downloads
490
Maintainers
Readme
ex-table-column
Extended from el-table-column. Automatically adjust column width according to content. Keep all features of el-table-column.
Features
- Automatically adjust column width according to content.
- Extended from el-table-column, keep all features of el-table-column.
Using npm or yarn
$ npm install ex-table-column --save
$ yarn add ex-table-column
Demo
Clone repository and run:
$ yarn && yarn serve
Required
Quick Start
import Vue from 'vue'
import Element from 'element-ui'
import ExTableColumn from 'ex-table-column';
Vue.use(Element)
Vue.component(ExTableColumn.name, ExTableColumn);
Simple use
Replace <el-table-column />
to <ex-table-column>
, add prop :autoFit='true'
:
<el-table>
<ex-table-column
:autoFit='true'
/>
</el-table>
And add style:
.el-table .cell {
white-space: nowrap;
width: fit-content;
}
Complicated slot
Add prop fitByClass
to specify a class of the element, which is in slot component, and use to calculate the column width:
<el-table>
<ex-table-column
:autoFit='true'
fitByClass="auto-fit-target"
:fitGap="20"
>
<div class="column-wrapper" slot-scope="scope">
<div class="column-content auto-fit-target">
{{scope.row[scope.column.property]}}
</div>
</div>
</ex-table-column>
</el-table>
Make sure that the element choosed by fitByClass
, the width of the element is correct, maybe you should add white-space: nowrap;
width: fit-content;
for the element.
Fit header
Calculating the column width does not consider the header width by default, if you want to include the header, you can add prop :fitHeader='true'
:
<el-table>
<ex-table-column
:autoFit='true'
:fitHeader='true'
/>
</el-table>
And add style:
.el-table .cell,
.el-table th>.cell
{
white-space: nowrap;
width: fit-content;
}
Extend prop
| Prop | Description | Type | Accepted Values | Default | | --- | --- | --- | --- | --- | | autoFit | whether column width to be automatically adjusted according to content. | boolean | - | false | fitByClass | Specify the class of the element that determines the width | string | - | cell | fitGap | The content right margin | number | - | 0 | fitHeader | Whether to include the header width when calculating the column width | boolean | - | false