mirror of https://github.com/ElemeFE/element
commit
aa05aeda6a
|
@ -110,6 +110,17 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
handleClick() {
|
||||||
|
console.log('click');
|
||||||
|
},
|
||||||
|
|
||||||
|
handleEdit(index, row) {
|
||||||
|
console.log(index, row);
|
||||||
|
},
|
||||||
|
|
||||||
|
handleDelete(index, row) {
|
||||||
|
console.log(index, row);
|
||||||
|
},
|
||||||
handleSelectionChange(val) {
|
handleSelectionChange(val) {
|
||||||
this.multipleSelection = val;
|
this.multipleSelection = val;
|
||||||
},
|
},
|
||||||
|
@ -504,11 +515,12 @@ When there are too many columns, you can fix some of them.
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
inline-template
|
inline-template
|
||||||
|
:context="_self"
|
||||||
fixed="right"
|
fixed="right"
|
||||||
label="Operations"
|
label="Operations"
|
||||||
width="120">
|
width="120">
|
||||||
<span>
|
<span>
|
||||||
<el-button type="text" size="small">Detail</el-button>
|
<el-button @click="handleClick" type="text" size="small">Detail</el-button>
|
||||||
<el-button type="text" size="small">Edit</el-button>
|
<el-button type="text" size="small">Edit</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -517,6 +529,11 @@ When there are too many columns, you can fix some of them.
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
|
methods: {
|
||||||
|
handleClick() {
|
||||||
|
console.log('click');
|
||||||
|
}
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
tableData: [{
|
tableData: [{
|
||||||
|
@ -959,6 +976,94 @@ Filter the table to find desired data.
|
||||||
```
|
```
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
### Custom column template
|
||||||
|
|
||||||
|
Customize table column so it can be integrated with other components.
|
||||||
|
:::demo Activate custom column template by adding the `inline-template` attribute. By default, the context of `el-table-column` is the one where `el-table` lies, and you can customize it with the `context` attribute, e.g. `:context="_self"` refers to the current context. This is useful when sometimes Table is encapsulated into another component, and `table-column` is distributed by slots. In `el-column`, you have access to the following data: row, column, $index and store (state management of Table).
|
||||||
|
```html
|
||||||
|
<template>
|
||||||
|
<el-table
|
||||||
|
:data="tableData"
|
||||||
|
border
|
||||||
|
style="width: 100%">
|
||||||
|
<el-table-column
|
||||||
|
inline-template
|
||||||
|
label="Date"
|
||||||
|
width="180">
|
||||||
|
<div>
|
||||||
|
<el-icon name="time"></el-icon>
|
||||||
|
<span style="margin-left: 10px">{{ row.date }}</span>
|
||||||
|
</div>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
inline-template
|
||||||
|
label="Name"
|
||||||
|
width="180">
|
||||||
|
<el-popover trigger="hover" placement="top">
|
||||||
|
<p>Name: {{ row.name }}</p>
|
||||||
|
<p>Addr: {{ row.address }}</p>
|
||||||
|
<div slot="reference">
|
||||||
|
<el-tag>{{ row.name }}</el-tag>
|
||||||
|
</div>
|
||||||
|
</el-popover>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
:context="_self"
|
||||||
|
inline-template
|
||||||
|
label="Operations">
|
||||||
|
<div>
|
||||||
|
<el-button
|
||||||
|
size="small"
|
||||||
|
@click="handleEdit($index, row)">
|
||||||
|
Edit
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
size="small"
|
||||||
|
type="danger"
|
||||||
|
@click="handleDelete($index, row)">
|
||||||
|
Delete
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
tableData: [{
|
||||||
|
date: '2016-05-03',
|
||||||
|
name: 'Tom',
|
||||||
|
address: 'No. 189, Grove St, Los Angeles'
|
||||||
|
}, {
|
||||||
|
date: '2016-05-02',
|
||||||
|
name: 'Tom',
|
||||||
|
address: 'No. 189, Grove St, Los Angeles'
|
||||||
|
}, {
|
||||||
|
date: '2016-05-04',
|
||||||
|
name: 'Tom',
|
||||||
|
address: 'No. 189, Grove St, Los Angeles'
|
||||||
|
}, {
|
||||||
|
date: '2016-05-01',
|
||||||
|
name: 'Tom',
|
||||||
|
address: 'No. 189, Grove St, Los Angeles'
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleEdit(index, row) {
|
||||||
|
console.log(index, row);
|
||||||
|
},
|
||||||
|
handleDelete(index, row) {
|
||||||
|
console.log(index, row);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
```
|
||||||
|
:::
|
||||||
|
|
||||||
### Table Attributes
|
### Table Attributes
|
||||||
| Attribute | Description | Type | Accepted Values | Default |
|
| Attribute | Description | Type | Accepted Values | Default |
|
||||||
|---------- |-------------- |---------- |-------------------------------- |-------- |
|
|---------- |-------------- |---------- |-------------------------------- |-------- |
|
||||||
|
@ -969,7 +1074,8 @@ Filter the table to find desired data.
|
||||||
| fit | whether width of column automatically fits its container | boolean | — | true |
|
| fit | whether width of column automatically fits its container | boolean | — | true |
|
||||||
| highlight-current-row | whether current row is highlighted | boolean | — | false |
|
| highlight-current-row | whether current row is highlighted | boolean | — | false |
|
||||||
| row-class-name | function that returns custom class names for a row | Function(row, index) | — | — |
|
| row-class-name | function that returns custom class names for a row | Function(row, index) | — | — |
|
||||||
| row-key | Key of row data, used for optimizing rendering. Required if `reserve-selection` is on | Function(row)/String | — | — |
|
| row-key | key of row data, used for optimizing rendering. Required if `reserve-selection` is on | Function(row)/String | — | — |
|
||||||
|
| context | context of Table, e.g. `_self` refers to the current context, `$parent` parent context, `$root` root context, can be overridden by `context` in `el-table-column` | Object | - | current context where Table lies |
|
||||||
|
|
||||||
### Table Events
|
### Table Events
|
||||||
| Event Name | Description | Parameters |
|
| Event Name | Description | Parameters |
|
||||||
|
@ -1005,7 +1111,8 @@ Filter the table to find desired data.
|
||||||
| resizable | whether column width can be resized, works when `border` of `el-table` is `true` | boolean | — | false |
|
| resizable | whether column width can be resized, works when `border` of `el-table` is `true` | boolean | — | false |
|
||||||
| formatter | function that formats content | Function(row, column) | — | — |
|
| formatter | function that formats content | Function(row, column) | — | — |
|
||||||
| show-overflow-tooltip | whether to hide extra content and show them in a tooltip when hovering on the cell | boolean | — | false |
|
| show-overflow-tooltip | whether to hide extra content and show them in a tooltip when hovering on the cell | boolean | — | false |
|
||||||
| inline-template | by using this attribute, you can customize column template. Row data can be accessed by `row` object, and current context can be accessed by `_self` in JSX. In this case you don't need to set `prop`. In your template, you have access to the following: `{ row (current row), column (current column), $index (row index), _self( context), store (table store) }` | — | — |
|
| context | context of Table-column, e.g. `_self` refers to the current context, `$parent` parent context, `$root` root context | Object | - | current context where Table lies |
|
||||||
|
| inline-template | by using this attribute, you can customize column template. Row data can be accessed by `row` object. In your template, you have access to the following: `{ row (current row), column (current column), $index (row index), store (table store) }` | — | — |
|
||||||
| align | alignment | string | left/center/right | left |
|
| align | alignment | string | left/center/right | left |
|
||||||
| class-name | class name of cells in the column | string | — | — |
|
| class-name | class name of cells in the column | string | — | — |
|
||||||
| selectable | function that determines if a certain row can be selected, works when `type` is 'selection' | Function(row, index) | — | — |
|
| selectable | function that determines if a certain row can be selected, works when `type` is 'selection' | Function(row, index) | — | — |
|
||||||
|
|
Loading…
Reference in New Issue