Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve Table Performance #9426

Merged
merged 2 commits into from
Jan 30, 2018

Conversation

furybean
Copy link
Contributor

@furybean furybean commented Jan 23, 2018

Improve Table performance after table inner width/height changes:

  1. Manual update TableHeader、TableFooter、TableBody styles instead of in render function.
  2. Remove some nonsense doLayout.
  3. Show scrollbar only when current scrollX、scrollY is true.

Fixed: #7681
Fixed: #7948
Fixed: #6276
Fixed: #7997
Fixed: #7530
Fixed: #7897

Please make sure these boxes are checked before submitting your PR, thank you!

  • Make sure you follow Element's contributing guide (中文 | English | Español).
  • Make sure you are merging your commits to dev branch.
  • Add some descriptions and refer relative issues for you PR.

@furybean furybean force-pushed the fix-table-column-formatter branch from 10bc85c to 90c7994 Compare January 23, 2018 12:33
}
},

doLayout() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will be a breaking change, as doLayout has been suggested as a "fix" to horizontal scrollbar issues: #8488 #6709

@furybean furybean force-pushed the fix-table-column-formatter branch from 90c7994 to 37ac24f Compare January 26, 2018 06:36
@Leopoldthecoder
Copy link
Contributor

挂了一个测试

@furybean furybean force-pushed the fix-table-column-formatter branch from 37ac24f to 1b6c082 Compare January 30, 2018 05:41
@furybean furybean force-pushed the fix-table-column-formatter branch from 1b6c082 to 697ba4e Compare January 30, 2018 06:14
@Leopoldthecoder Leopoldthecoder merged commit 9b93842 into ElemeFE:dev Jan 30, 2018
bluejfox added a commit to setariajs/setaria-ui that referenced this pull request Feb 7, 2018
Merge commit '3267f8f244887d243f1bc35099a40134fc059574' into current

* commit '3267f8f244887d243f1bc35099a40134fc059574': (592 commits)
  [release] 2.1.0
  [build] 2.1.0
  Changelog: update for 2.1.0 (ElemeFE#9581)
  Popover: v-popover directive supports expression (ElemeFE#9564)
  Update icon.scss (ElemeFE#9534)
  Doc: add sponsors (ElemeFE#9578)
  DatePicker: fix date clamping during navigation (ElemeFE#9577)
  Table: extend height prop usage (ElemeFE#9575)
  Dropdown: remove transition delay when trigger is click (ElemeFE#9573)
  Update README.md
  Collapse: fix nested collapse-item style (ElemeFE#9566)
  Table: improve performance (ElemeFE#9426)
  Table: change argument selection to cloned array in selection-change event (ElemeFE#9551)
  Table: fix expand row hover style (ElemeFE#9554)
  Notification: add position definition for ElNotificationOptions (ElemeFE#9546)
  Table: add disabled state to multiple selection header checkbox (ElemeFE#9543)
  Table: add indeterminate state to multiple selection header checkbox (ElemeFE#9363)
  Pagination: add keyup event to jumper so it works in IE11 (ElemeFE#9538)
  Input: fix appended button style in IE11 (ElemeFE#9537)
  Docs: fix Dialog doc's typo (ElemeFE#9533)
  ...

# Conflicts:
#	.gitignore
#	CHANGELOG.zh-CN.md
#	README.md
#	build/bin/version.js
#	build/deploy-ci.sh
#	components.json
#	examples/components/footer-nav.vue
#	examples/components/side-nav.vue
#	examples/docs/en-US/button.md
#	examples/docs/zh-CN/button.md
#	examples/docs/zh-CN/custom-theme.md
#	examples/docs/zh-CN/datetime-picker.md
#	examples/docs/zh-CN/dialog.md
#	examples/docs/zh-CN/form.md
#	examples/docs/zh-CN/loading.md
#	examples/docs/zh-CN/quickstart.md
#	examples/docs/zh-CN/radio.md
#	examples/docs/zh-CN/tabs.md
#	examples/docs/zh-CN/time-picker.md
#	examples/docs/zh-CN/transition.md
#	examples/docs/zh-CN/upload.md
#	examples/versions.json
#	package.json
#	packages/autocomplete/src/autocomplete.vue
#	packages/cascader/src/menu.vue
#	packages/collapse/src/collapse-item.vue
#	packages/color-picker/src/components/picker-dropdown.vue
#	packages/date-picker/src/basic/date-table.vue
#	packages/date-picker/src/basic/month-table.vue
#	packages/date-picker/src/basic/time-spinner.vue
#	packages/date-picker/src/basic/year-table.vue
#	packages/date-picker/src/panel/date-range.vue
#	packages/date-picker/src/panel/date.vue
#	packages/date-picker/src/panel/time-range.vue
#	packages/date-picker/src/panel/time.vue
#	packages/date-picker/src/picker.vue
#	packages/dialog/src/component.vue
#	packages/dropdown/src/dropdown.vue
#	packages/form/src/form-item.vue
#	packages/form/src/form.vue
#	packages/input-number/src/input-number.vue
#	packages/input/src/input.vue
#	packages/loading/src/directive.js
#	packages/loading/src/index.js
#	packages/menu/src/menu-item.vue
#	packages/menu/src/menu.vue
#	packages/menu/src/submenu.vue
#	packages/message-box/src/main.vue
#	packages/message/src/main.js
#	packages/notification/src/main.js
#	packages/pagination/src/pagination.js
#	packages/popover/src/main.vue
#	packages/radio/src/radio-button.vue
#	packages/radio/src/radio.vue
#	packages/rate/src/main.vue
#	packages/select/src/select.vue
#	packages/table/src/table-column.js
#	packages/table/src/table-layout.js
#	packages/table/src/table.vue
#	packages/tabs/src/tabs.vue
#	packages/theme-default/src/dialog.css
#	packages/theme-default/src/index.css
#	packages/tooltip/src/main.js
#	packages/transfer/src/transfer-panel.vue
#	packages/tree/src/tree.vue
#	packages/upload/src/index.vue
#	packages/upload/src/upload.vue
#	src/index.js
#	yarn.lock
@kokokele
Copy link

v2.4.8 have same problem ////

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants