diff --git a/examples/docs/zh-cn/table.md b/examples/docs/zh-cn/table.md
index 53a22b8f238..30f92a003ad 100644
--- a/examples/docs/zh-cn/table.md
+++ b/examples/docs/zh-cn/table.md
@@ -666,85 +666,15 @@
```
:::
-### 单选
-
-选择单行数据时使用色块表示。
-
-:::demo Table 组件提供了选择的支持,只需要配置`selection-mode`属性即可实现单选(`single`)、多选(`multiple`),如果不需要则设置为`none`。之后由`selection-change`事件来管理选中时触发的事件,它会传入一个`value`,`value`为生成表格时的对应对象。本例中还使用了`allow-no-current-row`属性,它接受一个`Boolean`,若为`true`,则允许为空,默认为`false`,此时将会产生默认值,为填入数组的第一个对象。如果需要显示索引,可以增加一列`el-table-column`,设置`type`属性为`index`即可显示从 1 开始的索引号。
-```html
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-:::
-
### 多选
选择多行数据时使用 Checkbox。
-:::demo 除了`selection-mode`的设置外,多选与单选并没有太大差别,只是传入`selection-change`事件中的参数从对象变成了对象数组。此外,需要提供一个列来显示多选框: 手动添加一个`el-table-column`,设`type`属性为`selection`即可。在本例中,为了方便说明其他属性,我们还使用了`inline-template`和`show-tooltip-when-overflow`:设置了`inline-template`属性后,可以通过调用`row`对象中的值取代`prop`属性的设置;默认情况下若内容过多会折行显示,若需要单行显示可以使用`show-tooltip-when-overflow`属性,它接受一个`Boolean`,为`true`时多余的内容会在 hover 时以 tooltip 的形式显示出来。
+:::demo 实现多选非常简单: 手动添加一个`el-table-column`,设`type`属性为`selection`即可。在本例中,为了方便说明其他属性,我们还使用了`inline-template`和`show-tooltip-when-overflow`:设置了`inline-template`属性后,可以通过调用`row`对象中的值取代`prop`属性的设置;默认情况下若内容过多会折行显示,若需要单行显示可以使用`show-tooltip-when-overflow`属性,它接受一个`Boolean`,为`true`时多余的内容会在 hover 时以 tooltip 的形式显示出来。
```html
Vue.set(item, '$selected', false));
}
states.data = orderBy((data || []), states.sortCondition.property, states.sortCondition.direction);
- this.updateCurrentRow();
if (!states.reserveSelection) {
states.isAllSelected = false;
@@ -175,13 +172,7 @@ TableStore.prototype.mutations = {
}
this.table.$emit('select-all', selection);
states.isAllSelected = value;
- }),
-
- setSelectedRow(states, row) {
- if (states.selectionMode === 'single') {
- states.currentRow = row;
- }
- }
+ })
};
TableStore.prototype.updateColumns = function() {
@@ -230,30 +221,6 @@ TableStore.prototype.updateAllSelected = function() {
states.isAllSelected = isAllSelected;
};
-TableStore.prototype.updateCurrentRow = function() {
- const states = this.states;
- const table = this.table;
- const data = states.data || [];
- if (states.selectionMode === 'single') {
- const oldCurrentRow = states.currentRow;
- if (oldCurrentRow === null && !states.allowNoCurrentRow) {
- states.currentRow = data[0];
- if (states.currentRow !== oldCurrentRow) {
- table.$emit('selection-change', states.currentRow);
- }
- } else if (data.indexOf(oldCurrentRow) === -1) {
- if (!states.allowNoCurrentRow) {
- states.currentRow = data[0];
- } else {
- states.currentRow = null;
- }
- if (states.currentRow !== oldCurrentRow) {
- table.$emit('selection-change', states.currentRow);
- }
- }
- }
-};
-
TableStore.prototype.scheduleLayout = function() {
this.table.debouncedLayout();
};
diff --git a/packages/table/src/table.vue b/packages/table/src/table.vue
index 74ae0a745d4..e899d2a9c27 100644
--- a/packages/table/src/table.vue
+++ b/packages/table/src/table.vue
@@ -118,15 +118,8 @@
border: Boolean,
- selectionMode: {
- type: String,
- default: 'none'
- },
-
rowKey: [String, Function],
- allowNoCurrentRow: Boolean,
-
rowClassName: [String, Function]
},
@@ -197,12 +190,7 @@
},
selection() {
- if (this.selectionMode === 'multiple') {
- return this.store.selection;
- } else if (this.selectionMode === 'single') {
- return this.store.currentRow;
- }
- return null;
+ return this.store.selection;
},
columns() {
@@ -248,8 +236,6 @@
data() {
const store = new TableStore(this, {
- allowNoCurrentRow: this.allowNoCurrentRow,
- selectionMode: this.selectionMode,
rowKey: this.rowKey
});
const layout = new TableLayout({