diff --git a/CHANGELOG.en-US.md b/CHANGELOG.en-US.md
index 986183207..a0afcc615 100644
--- a/CHANGELOG.en-US.md
+++ b/CHANGELOG.en-US.md
@@ -6,42 +6,42 @@
#### New features
- General
- - Added TypeScript typings
- - All existing icons are redesigned. Some new icons are added.
- - To help you migrate from Element 1.x, we added some console warnings against deprecated APIs. When you use a
- removed or renamed attribute or event in your project, you'll get a warning like this:
- ```
- [Element Migrating][ElSwitch][Attribute]: on-color is renamed to active-color.
- ```
- - Added a series of breakpoint-based utility classes that hide elements when the viewport size meets certain conditions
+- Added TypeScript typings
+- All existing icons are redesigned. Some new icons are added.
+- To help you migrate from Element 1.x, we added some console warnings against deprecated APIs. When you use a
+removed or renamed attribute or event in your project, you'll get a warning like this:
+```
+[Element Migrating][ElSwitch][Attribute]: on-color is renamed to active-color.
+```
+- Added a series of breakpoint-based utility classes that hide elements when the viewport size meets certain conditions
- Layout
- - Added a new breakpoint `xl` for viewport wider than 1920px
+- Added a new breakpoint `xl` for viewport wider than 1920px
- Table
- - Added `span-method` attribute for merging cells
- - Added `clearSort` method to clear sorting programmatically
- - Added `clearFilter` method to clear filter programmatically
- - For expandable rows, when a row is expanded, a `.expanded` class will be added to its class list, so that you can customize its styles
+- Added `span-method` attribute for merging cells
+- Added `clearSort` method to clear sorting programmatically
+- Added `clearFilter` method to clear filter programmatically
+- For expandable rows, when a row is expanded, a `.expanded` class will be added to its class list, so that you can customize its styles
- DatePicker
- - Added `unlink-panels` attribute to unlink the two date panels when selecting a date range
+- Added `unlink-panels` attribute to unlink the two date panels when selecting a date range
- Select
- - Added `reserve-keyword` attribute for reserving current search keyword after selecting an option
+- Added `reserve-keyword` attribute for reserving current search keyword after selecting an option
#### Fixes
- Table
- - Now `header-align` of TableColumn works properly
- - Fixed a bug that Table remains hiding when its parent element appears from `display: none`
- - Fixed Table expanding its width when its parent element has `display: flex`
- - Fixed a bug that fixed columns of a Table with `append` slot would disappear when data is dynamically fetched
- - Fixed `expand-row-keys` attribute not working with initial value
- - Fixed filter failing when `data` updates
- - Fixed a calculation error of fixed columns layout with grouped headers
+- Now `header-align` of TableColumn works properly
+- Fixed a bug that Table remains hiding when its parent element appears from `display: none`
+- Fixed Table expanding its width when its parent element has `display: flex`
+- Fixed a bug that fixed columns of a Table with `append` slot would disappear when data is dynamically fetched
+- Fixed `expand-row-keys` attribute not working with initial value
+- Fixed filter failing when `data` updates
+- Fixed a calculation error of fixed columns layout with grouped headers
#### Breaking changes
- Switch
- - Attributes starting with `on-*` will be parsed to events in JSX, making all `on-*` attributes of Switch not
+- Attributes starting with `on-*` will be parsed to events in JSX, making all `on-*` attributes of Switch not
able to work in JSX. So `on-*` attributes are renamed to `active-*`, and accordingly `off-*` attributes are renamed to `inactive-*`. This change affects the following attributes: `on-icon-class`, `off-icon-class`, `on-text`, `off-text`, `on-color`, `off-color`, `on-value`, `off-value`
- Table
- - `sort-method` now aligns with `Array.sort`. It should return a number instead of a boolean
+- `sort-method` now aligns with `Array.sort`. It should return a number instead of a boolean
### 2.0.0-alpha.3
@@ -49,38 +49,38 @@ able to work in JSX. So `on-*` attributes are renamed to `active-*`, and accordi
#### New features
- General
- - Configure component sizes globally. Now when you import Element, you can add a global config object with a `size` prop to configure default sizes for all components. For fully import:
- ```JS
- import Vue from 'vue'
- import Element from 'element-ui'
- Vue.use(Element, { size: 'small' })
- ```
- For partial import:
- ```JS
- import Vue from 'vue'
- import { Button } from 'element-ui'
-
- Vue.prototype.$ELEMENT = { size: 'small' }
- Vue.use(Button)
- ```
- With the above config, the default size of all components that have `size` attribute will be 'small'.
+- Configure component sizes globally. Now when you import Element, you can add a global config object with a `size` prop to configure default sizes for all components. For fully import:
+```JS
+import Vue from 'vue'
+import Element from 'element-ui'
+Vue.use(Element, { size: 'small' })
+```
+For partial import:
+```JS
+import Vue from 'vue'
+import { Button } from 'element-ui'
+
+Vue.prototype.$ELEMENT = { size: 'small' }
+Vue.use(Button)
+```
+With the above config, the default size of all components that have `size` attribute will be 'small'.
- Loading
- - Now you can customize spinner icon and background color with `spinner` and `background` prop, #7390
+- Now you can customize spinner icon and background color with `spinner` and `background` prop, #7390
- Autocomplete
- - Added `debounce` attribute, #7413
+- Added `debounce` attribute, #7413
- Upload
- - Added `limit` and `on-exceed` attributes to limit the amount of files, #7405
+- Added `limit` and `on-exceed` attributes to limit the amount of files, #7405
- Menu
- - Added `open` and `close` methods to open and close SubMenu programmatically, #7412
+- Added `open` and `close` methods to open and close SubMenu programmatically, #7412
- DatePicker
- - Added `value-format` attribute to customize the format of the binding value, #7367
+- Added `value-format` attribute to customize the format of the binding value, #7367
- TimePicker
- - Added `arrow-control` attribute to spin the time with arrows #7438
+- Added `arrow-control` attribute to spin the time with arrows #7438
- DateTimePicker
- - Added `time-arrow-control` attribute to activate `arrow-control` of the nesting TimePicker, #7438
+- Added `time-arrow-control` attribute to activate `arrow-control` of the nesting TimePicker, #7438
- Form
- - Form and Form-item now have a `size` attribute. Inner components will inherit this size if not specified on themselves, #7428
- - `validate` method will now return a promise if the callback is omitted, #7405
+- Form and Form-item now have a `size` attribute. Inner components will inherit this size if not specified on themselves, #7428
+- `validate` method will now return a promise if the callback is omitted, #7405
#### Fixes
- Fixed the console warning `Injection "elFormItem" not found` of some components
@@ -106,121 +106,129 @@ able to work in JSX. So `on-*` attributes are renamed to `active-*`, and accordi
#### New features
- General
- - A new theme: `theme-chalk`
- - Accessibility of the following components are improved: Alert, AutoComplete, Breadcrumb, Button, Checkbox, Collapse, Input, InputNumber, Menu, Progress, Radio, Rate, Slider, Switch, Upload
- - Layout components: Container, Header, Aside, Main, Footer
+- A new theme: `theme-chalk`
+- Accessibility of the following components are improved: Alert, AutoComplete, Breadcrumb, Button, Checkbox, Collapse, Input, InputNumber, Menu, Progress, Radio, Rate, Slider, Switch, Upload
+- Layout components: Container, Header, Aside, Main, Footer
- Button
- - Added `round` attribute. It's used for round-cornered Buttons #6643
+- Added `round` attribute. It's used for round-cornered Buttons #6643
- TimeSelect
- - Now can be navigated by `Up` and `Down`, and hitting `Enter` selects the time #6023
+- Now can be navigated by `Up` and `Down`, and hitting `Enter` selects the time #6023
- TimePicker
- - Now can be navigated by arrow keys, and hitting `Enter` selects the time #6050
- - Added `start-placeholder` and `end-placeholder`. They're placeholders for the two input boxes in range mode #7169
+- Now can be navigated by arrow keys, and hitting `Enter` selects the time #6050
+- Added `start-placeholder` and `end-placeholder`. They're placeholders for the two input boxes in range mode #7169
- Tree
- - Now child nodes don't render before the first expand #6257
- - Added `check-descendants` attribute. It determines if child nodes are checked when checking their parent node
+- Now child nodes don't render before the first expand #6257
+- Added `check-descendants` attribute. It determines if child nodes are checked when checking their parent node
in `lazy` mode #6235
- Tag
- - Added `size` attribute #7203
+- Added `size` attribute #7203
- Datepicker
- - Now `timeFormat` can format the TimePicker when type is set to `datetimerange` #6052
- - Added `start-placeholder` and `end-placeholder`. They're placeholders for the two input boxes in range mode #7169
+- Now `timeFormat` can format the TimePicker when type is set to `datetimerange` #6052
+- Added `start-placeholder` and `end-placeholder`. They're placeholders for the two input boxes in range mode #7169
- MessageBox
- - Added `closeOnHashChange` attribute #6043
- - Added `center` attribute so that the content can be centered #7029
- - Added `roundButton` attribute to display round Buttons #7029
- - Added `dangerouslyUseHTMLString` attribute. When set to `true`, `message` will be parsed as HTML string* #6043
+- Added `closeOnHashChange` attribute #6043
+- Added `center` attribute so that the content can be centered #7029
+- Added `roundButton` attribute to display round Buttons #7029
+- Added `dangerouslyUseHTMLString` attribute. When set to `true`, `message` will be parsed as HTML string* #6043
- Dialog
- - Added `width`、`fullscreen`、`append-to-body` attributes. Now Dialog can be nested
- - Added `center` attribute so that the content can be centered #7042
- - Added `focus-after-closed`、`focus-after-open` to improve accessibility #6511
+- Added `width`、`fullscreen`、`append-to-body` attributes. Now Dialog can be nested
+- Added `center` attribute so that the content can be centered #7042
+- Added `focus-after-closed`、`focus-after-open` to improve accessibility #6511
- ColorPicker
- - Now you can type colors in the input box #6167
- - Added `size` and `disabled` attributes #7026
+- Now you can type colors in the input box #6167
+- Added `size` and `disabled` attributes #7026
- Message
- - Now color of the icons can be overridden by CSS #6207
- - Added `dangerouslyUseHTMLString` attribute. When set to `true`, `message` will be parsed as HTML string* #6207
- - Added `center` attribute so that the content can be centered #6875
+- Now color of the icons can be overridden by CSS #6207
+- Added `dangerouslyUseHTMLString` attribute. When set to `true`, `message` will be parsed as HTML string* #6207
+- Added `center` attribute so that the content can be centered #6875
- Notification
- - Added `position` attribute to configure where Notification pops up #6231
- - Added `dangerouslyUseHTMLString` attribute. When set to `true`, `message` will be parsed as HTML string* #6231
- - Added `showClose` attribute to hide the close button #6402
+- Added `position` attribute to configure where Notification pops up #6231
+- Added `dangerouslyUseHTMLString` attribute. When set to `true`, `message` will be parsed as HTML string* #6231
+- Added `showClose` attribute to hide the close button #6402
- Rate
- - Added `show-score` attribute to determine if current score is displayed #6295
+- Added `show-score` attribute to determine if current score is displayed #6295
- Tabs
- - Added `tab-position` attribute #6096
+- Added `tab-position` attribute #6096
- Radio
- - Improved accessibility #6101
- - Added `border` and `size` attributes #6690
+- Improved accessibility #6101
+- Added `border` and `size` attributes #6690
- Checkbox
- - Added `border` and `size` attributes #6690
+- Added `border` and `size` attributes #6690
- Alert
- - Added `center` attribute so that the content can be centered #6876
+- Added `center` attribute so that the content can be centered #6876
- Menu
- - Added `background-color`, `text-color` and `active-text-color` attributes #7064
+- Added `background-color`, `text-color` and `active-text-color` attributes #7064
- Form
- - Added `inline-message` attribute to determine if the validation message is displayed in inline style #7032
- - Added `status-icon` attribute to display a feedback icon when validated #7032
+- Added `inline-message` attribute to determine if the validation message is displayed in inline style #7032
+- Added `status-icon` attribute to display a feedback icon when validated #7032
- Input
- - Added `suffix` and `prefix` named slots, `suffixIcon` and `prefixIcon` attributes to add contents inside the input box #7032
+- Added `suffix` and `prefix` named slots, `suffixIcon` and `prefixIcon` attributes to add contents inside the input box #7032
- Breadcrumb
- - Added `separator-class` attribute to support icons as item separators #7203
+- Added `separator-class` attribute to support icons as item separators #7203
- Steps
- - Added `simple` attribute to activate simple-styled Steps #7274
+- Added `simple` attribute to activate simple-styled Steps #7274
- Pagination
- - Added `prev-text` and `next-text` attributes to customize texts of prev page and next page #7005
+- Added `prev-text` and `next-text` attributes to customize texts of prev page and next page #7005
#### Bug fixes
- DatePicker
- - Fixed `v-model` returning the second day of the selected week in week mode #6038
- - Fixed the first input being cleared in `daterange` type #6021
+- Fixed `v-model` returning the second day of the selected week in week mode #6038
+- Fixed the first input being cleared in `daterange` type #6021
- DateTimePicker
- - Fixed DateTimePicker and TimePicker affecting each other when picked #6090
- - Fixed hour and second can be beyond limit when selecting time #6076
+- Fixed DateTimePicker and TimePicker affecting each other when picked #6090
+- Fixed hour and second can be beyond limit when selecting time #6076
- TimePicker
- - Fixed `v-model` not update correctly when blurred #6023
+- Fixed `v-model` not update correctly when blurred #6023
- Dialog
- - Fixed texts having blurry edges when opening and closing nesting dropdowns #6088
+- Fixed texts having blurry edges when opening and closing nesting dropdowns #6088
- Select
- - Improved performance. Now Vue dev-tool won't crash when a large number of Selects are destroyed #6151
+- Improved performance. Now Vue dev-tool won't crash when a large number of Selects are destroyed #6151
#### Breaking changes
- General
- - Removed `theme-default`
- - `change` event of form components and `current-change` event of Pagination now only trigger on user interaction
- - `size` attribute of Button and form components can no longer be set to `large`. Now they accept `medium`, `small` and `mini`
- - To facilitate the use of third-party icons, `icon` attribute of Button and Steps, `prefix-icon` and `suffix-icon` attributes of Input now require a full class name
+- Removed `theme-default`
+- `change` event of form components and `current-change` event of Pagination now only trigger on user interaction
+- `size` attribute of Button and form components can no longer be set to `large`. Now they accept `medium`, `small` and `mini`
+- To facilitate the use of third-party icons, `icon` attribute of Button and Steps, `prefix-icon` and `suffix-icon` attributes of Input now require a full class name
- Dialog
- - Removed `size` attribute. Now the size of Dialog can be configured by `width` and `fullscreen`
- - Now the visibility of Dialog cannot be controlled by `v-model`
+- Removed `size` attribute. Now the size of Dialog can be configured by `width` and `fullscreen`
+- Now the visibility of Dialog cannot be controlled by `v-model`
- Rate
- - `text-template` is renamed to `score-template`
+- `text-template` is renamed to `score-template`
- Dropdown
- - `menu-align` is renamed to `placement`. Now it supports more positions
+- `menu-align` is renamed to `placement`. Now it supports more positions
- Transfer
- - `footer-format` is renamed to `format`
+- `footer-format` is renamed to `format`
- Switch
- - `on-text` and `off-text` attributes now don't have default values
+- `on-text` and `off-text` attributes now don't have default values
- Tag
- - `type` attribute now accepts `success`, `info`, `warning` and `danger`
- - `close-transition` is renamed to `disable-transitions`
+- `type` attribute now accepts `success`, `info`, `warning` and `danger`
+- `close-transition` is renamed to `disable-transitions`
- Menu
- - Removed `theme` attribute. The color of Menu can be configured using `background-color`, `text-color` and `active-text-color`
+- Removed `theme` attribute. The color of Menu can be configured using `background-color`, `text-color` and `active-text-color`
- Input
- - Removed `icon` attribute. Now the suffix icon can be configured using `suffix-icon` attribute or `suffix` named slot
- - Removed `on-icon-click` attribute and `click` event. Now to add click handler on icons, please use named slots
+- Removed `icon` attribute. Now the suffix icon can be configured using `suffix-icon` attribute or `suffix` named slot
+- Removed `on-icon-click` attribute and `click` event. Now to add click handler on icons, please use named slots
- Autocomplete
- - Removed `icon` and `on-icon-click` attributes. Now the icons can be configured using `prefix` or `suffix` named slot
- - Removed `custom-item` attribute. Now the template of input suggestions can be customized using `scoped slot`
+- Removed `icon` and `on-icon-click` attributes. Now the icons can be configured using `prefix` or `suffix` named slot
+- Removed `custom-item` attribute. Now the template of input suggestions can be customized using `scoped slot`
- Table
- - Removed support for customizing column template using `inline-template`
+- Removed support for customizing column template using `inline-template`
- Steps
- - Removed `center` attribute
- - Now the Steps will fill its parent container by default
+- Removed `center` attribute
+- Now the Steps will fill its parent container by default
##
* Dynamically rendering arbitrary HTML on your website can be very dangerous because it can easily lead to [XSS attacks](https://en.wikipedia.org/wiki/Cross-site_scripting). So when `dangerouslyUseHTMLString` is on, please make sure the content of `message` is trusted, and **never** assign `message` to user-provided content.
+### 1.4.8
+
+*2017-10-24*
+
+- Fixed SubMenu retracting when moving the mouse rapidly on the SubMenu of collapsed Menu, #7579
+- Fixed hidden last shortcut of DateTimePicker when the shortcut menu is long, #7567 (by @DuLinRain)
+- Added `show-timeout` and `hide-timeout` attributes for Dropdown, #7621 (by @phongkt-dev)
+
### 1.4.7
*2017-10-16*
@@ -228,7 +236,6 @@ in `lazy` mode #6235
- Fixed compatibility of Autocomplete and Vue 2.5.x, #6942 (by @rennai)
- Added `allow-focus` attribute for Switch, #7494 (by @breadadams)
-
### 1.4.6
*2017-09-27*
diff --git a/CHANGELOG.zh-CN.md b/CHANGELOG.zh-CN.md
index d17fa0b6d..3eddafd41 100644
--- a/CHANGELOG.zh-CN.md
+++ b/CHANGELOG.zh-CN.md
@@ -213,6 +213,13 @@
##
* 在网站上动态渲染任意 HTML 是非常危险的,因为容易导致 [XSS 攻击](https://en.wikipedia.org/wiki/Cross-site_scripting)。因此请在 `dangerouslyUseHTMLString` 打开的情况下,确保 `message` 的内容是可信的,**永远不要**将用户提交的内容赋值给 `message` 属性。
+### 1.4.8
+*2017-10-24*
+
+- 修复鼠标在折叠的 Menu 子菜单中快速移动时会将菜单收起的问题,#7579
+- 修复 DateTimePicker 的快捷菜单过长时,最后一项会被隐藏的问题,#7567(by @DuLinRain)
+- 新增 Dropdown 的 `show-timeout` 和 `hide-timeout` 属性,#7621(by @phongkt-dev)
+
### 1.4.7
*2017-10-16*
diff --git a/README.md b/README.md
index 7fd716446..56a7afcb5 100644
--- a/README.md
+++ b/README.md
@@ -18,9 +18,9 @@
> A Vue.js 2.0 UI Toolkit for Web.
-
-
-
+
+
+
## Links
- [Home Page](http://element.eleme.io/)
diff --git a/examples/docs/en-US/dropdown.md b/examples/docs/en-US/dropdown.md
index 75f796848..3c18e7f1a 100644
--- a/examples/docs/en-US/dropdown.md
+++ b/examples/docs/en-US/dropdown.md
@@ -328,6 +328,8 @@ Besides default size, Dropdown component provides three additional sizes for you
| placement | placement of pop menu | string | top/top-start/top-end/bottom/bottom-start/bottom-end | bottom-end |
| trigger | how to trigger | string | hover/click | hover |
| hide-on-click | whether to hide menu after clicking menu-item | boolean | — | true |
+| show-timeout | Delay time before show a dropdown | number | — | 250 |
+| hide-timeout | Delay time before hide a dropdown | number | — | 150 |
### Dropdown Events
| Event Name | Description | Parameters |
diff --git a/examples/docs/en-US/form.md b/examples/docs/en-US/form.md
index 23520e62b..13fa62e68 100644
--- a/examples/docs/en-US/form.md
+++ b/examples/docs/en-US/form.md
@@ -407,7 +407,7 @@ Depending on your design, there are several different ways to align your label e
Form component allows you to verify your data, helping you find and correct errors.
-:::demo Just add the `rule` attribute for `Form` component, pass validation rules, and set `prop` attribute for `Form-Item` as a specific key that needs to be validated. See more information at [async-validator](https://github.com/yiminghe/async-validator).
+:::demo Just add the `rules` attribute for `Form` component, pass validation rules, and set `prop` attribute for `Form-Item` as a specific key that needs to be validated. See more information at [async-validator](https://github.com/yiminghe/async-validator).
```html
diff --git a/examples/docs/zh-CN/dropdown.md b/examples/docs/zh-CN/dropdown.md
index 5932e20c6..23d020808 100644
--- a/examples/docs/zh-CN/dropdown.md
+++ b/examples/docs/zh-CN/dropdown.md
@@ -334,6 +334,8 @@ Dropdown 组件提供除了默认值以外的三种尺寸,可以在不同场
| placement | 菜单弹出位置 | string | top/top-start/top-end/bottom/bottom-start/bottom-end | bottom-end |
| trigger | 触发下拉的行为 | string | hover, click | hover |
| hide-on-click | 是否在点击菜单项后隐藏菜单 | boolean | — | true |
+| show-timeout | 展开下拉菜单的延时 | number | — | 250 |
+| hide-timeout | 收起下拉菜单的延时 | number | — | 150 |
### Dropdown Events
| 事件名称 | 说明 | 回调参数 |
diff --git a/examples/docs/zh-CN/form.md b/examples/docs/zh-CN/form.md
index b516e6d9d..758319958 100644
--- a/examples/docs/zh-CN/form.md
+++ b/examples/docs/zh-CN/form.md
@@ -399,7 +399,7 @@
在防止用户犯错的前提下,尽可能让用户更早地发现并纠正错误。
-::: demo Form 组件提供了表单验证的功能,只需要通过 `rule` 属性传入约定的验证规则,并 Form-Item 的 `prop` 属性设置为需校验的字段名即可。校验规则参见 [async-validator](https://github.com/yiminghe/async-validator)
+::: demo Form 组件提供了表单验证的功能,只需要通过 `rules` 属性传入约定的验证规则,并 Form-Item 的 `prop` 属性设置为需校验的字段名即可。校验规则参见 [async-validator](https://github.com/yiminghe/async-validator)
```html
diff --git a/examples/versions.json b/examples/versions.json
index babbe87eb..33bafebec 100644
--- a/examples/versions.json
+++ b/examples/versions.json
@@ -1 +1 @@
-{"1.0.9":"1.0","1.1.6":"1.1","1.2.9":"1.2","1.3.7":"1.3","1.4.7":"1.4","2.0.0-beta.1":"2.0"}
\ No newline at end of file
+{"1.0.9":"1.0","1.1.6":"1.1","1.2.9":"1.2","1.3.7":"1.3","1.4.8":"1.4","2.0.0-beta.1":"2.0"}
\ No newline at end of file
diff --git a/packages/dropdown/src/dropdown.vue b/packages/dropdown/src/dropdown.vue
index 458643c83..4099fe6df 100644
--- a/packages/dropdown/src/dropdown.vue
+++ b/packages/dropdown/src/dropdown.vue
@@ -46,6 +46,14 @@
},
visibleArrow: {
default: true
+ },
+ showTimeout: {
+ type: Number,
+ default: 250
+ },
+ hideTimeout: {
+ type: Number,
+ default: 150
}
},
@@ -88,14 +96,14 @@
clearTimeout(this.timeout);
this.timeout = setTimeout(() => {
this.visible = true;
- }, 250);
+ }, this.showTimeout);
},
hide() {
if (this.triggerElm.disabled) return;
clearTimeout(this.timeout);
this.timeout = setTimeout(() => {
this.visible = false;
- }, 150);
+ }, this.hideTimeout);
},
handleClick() {
if (this.triggerElm.disabled) return;
diff --git a/test/unit/specs/table.spec.js b/test/unit/specs/table.spec.js
index 8b9ed2a79..2ba0dbe45 100644
--- a/test/unit/specs/table.spec.js
+++ b/test/unit/specs/table.spec.js
@@ -805,84 +805,6 @@ describe('Table', () => {
}, DELAY);
});
- it('reserve-selection', done => {
- const getData = function(page = 0) {
- let id = 0;
- const rows = [];
- const row = () => {
- return {
- id: ++id + page * 10,
- date: new Date().getTime()
- };
- };
- let count = 10;
-
- while (--count) {
- rows.push(row());
- }
- return rows;
- };
- const vm = createVue({
- template: `
-
-
-
-
-
- `,
-
- created() {
- this.testData = getData();
- },
-
- data() {
- return { selected: [], testData: [] };
- },
-
- methods: {
- rowKey(row) {
- return row.id;
- },
-
- change(rows) {
- this.selected = rows;
- }
- }
- }, true);
-
- setTimeout(_ => {
- // click first
- vm.$el.querySelectorAll('.el-checkbox')[1].click();
-
- setTimeout(_ => {
- expect(vm.$el.querySelectorAll('.el-checkbox__input.is-checked')).to.length(1);
- // go to second page
- vm.testData = getData(1);
- setTimeout(_ => {
- // expect no checked
- expect(vm.$el.querySelectorAll('.el-checkbox__input.is-checked')).to.length(0);
- // click first checkbox
- vm.$el.querySelectorAll('.el-checkbox')[1].click();
- vm.$el.querySelectorAll('.el-checkbox')[2].click();
- setTimeout(_ => {
- // back first page
- vm.testData = getData();
- setTimeout(_ => {
- expect(vm.$el.querySelectorAll('.el-checkbox__input.is-checked')).to.length(1);
- // clear
- vm.$refs.table.clearSelection();
- setTimeout(_ => {
- expect(vm.$el.querySelectorAll('.el-checkbox__input.is-checked')).to.length(0);
- destroyVM(vm);
- done();
- }, DELAY);
- }, DELAY);
- }, DELAY);
- }, DELAY);
- }, DELAY);
- }, DELAY);
- });
-
describe('type', () => {
const createTable = function(type) {
return createVue({