fix: table header scrolll not reset

pull/3598/head
tangjinzhou 2021-01-23 21:54:12 +08:00
parent a72db912f7
commit 1d1ed164a6
1 changed files with 9 additions and 5 deletions

View File

@ -1,5 +1,5 @@
/* eslint-disable camelcase */ /* eslint-disable camelcase */
import { provide, markRaw, defineComponent } from 'vue'; import { provide, markRaw, defineComponent, nextTick } from 'vue';
import shallowequal from '../../_util/shallowequal'; import shallowequal from '../../_util/shallowequal';
import merge from 'lodash-es/merge'; import merge from 'lodash-es/merge';
import classes from '../../_util/component-classes'; import classes from '../../_util/component-classes';
@ -109,6 +109,11 @@ export default defineComponent({
), ),
}; };
}, },
computed: {
dataLen() {
return this.$props.data.length;
},
},
watch: { watch: {
components() { components() {
this._components = merge( this._components = merge(
@ -133,9 +138,9 @@ export default defineComponent({
this.columnManager.reset(val); this.columnManager.reset(val);
} }
}, },
data(val) { dataLen(val, preVal) {
if (val.length === 0 && this.hasScrollX()) { if ((val === 0 || preVal === 0) && this.hasScrollX()) {
this.$nextTick(() => { nextTick(() => {
this.resetScrollX(); this.resetScrollX();
}); });
} }
@ -146,7 +151,6 @@ export default defineComponent({
// table: PropTypes.any, // table: PropTypes.any,
// components: PropTypes.any, // components: PropTypes.any,
// }, // },
created() { created() {
provide('table', this); provide('table', this);
// ['rowClick', 'rowDoubleclick', 'rowContextmenu', 'rowMouseenter', 'rowMouseleave'].forEach( // ['rowClick', 'rowDoubleclick', 'rowContextmenu', 'rowMouseenter', 'rowMouseleave'].forEach(