1
0
mirror of synced 2025-12-09 15:24:36 +08:00

优化虚拟滚动逻辑

This commit is contained in:
xuliangzhan
2023-02-20 22:49:39 +08:00
parent 8c21313f0d
commit b1dfe7efdc
4 changed files with 8 additions and 9 deletions

View File

@@ -12,7 +12,6 @@ import { VxeFormConstructor, VxeFormDefines, VxeFormPrivateMethods, SlotVNodeTyp
const VxeFormConfigItem = defineComponent({
name: 'VxeFormConfigItem',
props: {
itemConfig2: Object,
itemConfig: Object as PropType<VxeFormDefines.ItemInfo>
},
setup (props) {
@@ -124,9 +123,7 @@ const VxeFormConfigItem = defineComponent({
'is--active': isActivetem($xeform, item),
'is--error': showError
}
],
itemConfig: item,
key: item.id
]
}, [
h('div', {
class: 'vxe-form--item-inner'

View File

@@ -591,7 +591,6 @@ export default defineComponent({
}, customLayout ? (defaultSlot ? defaultSlot({}) : []) : formItems.map((item, index) => {
return h(VxeFormConfigItem, {
key: index,
itemConfig2: item,
itemConfig: item
})
})),

View File

@@ -254,7 +254,8 @@ export default defineComponent({
visibleSize: 0
})
internalData.fullData = fullData
reactData.scrollYLoad = !!sYOpts.enabled && sYOpts.gt > -1 && sYOpts.gt <= fullData.length
// 如果gt为0则总是启用
reactData.scrollYLoad = !!sYOpts.enabled && sYOpts.gt > -1 && (sYOpts.gt === 0 || sYOpts.gt <= fullData.length)
handleData()
return computeScrollLoad().then(() => {
refreshScroll()

View File

@@ -2291,7 +2291,8 @@ export default defineComponent({
})
}
const visibleColumn = leftList.concat(centerList).concat(rightList)
const scrollXLoad = !!sXOpts.enabled && sXOpts.gt > -1 && sXOpts.gt < tableFullColumn.length
// 如果gt为0则总是启用
const scrollXLoad = !!sXOpts.enabled && sXOpts.gt > -1 && (sXOpts.gt === 0 || sXOpts.gt < tableFullColumn.length)
reactData.hasFixedColumn = leftList.length > 0 || rightList.length > 0
Object.assign(columnStore, { leftList, centerList, rightList })
if (scrollXLoad) {
@@ -2370,7 +2371,8 @@ export default defineComponent({
const sYOpts = computeSYOpts.value
const treeOpts = computeTreeOpts.value
const { transform } = treeOpts
const scrollYLoad = (transform || !treeConfig) && !!sYOpts.enabled && sYOpts.gt > -1 && sYOpts.gt < fullData.length
// 如果gt为0则总是启用
const scrollYLoad = (transform || !treeConfig) && !!sYOpts.enabled && sYOpts.gt > -1 && (sYOpts.gt === 0 || sYOpts.gt < fullData.length)
reactData.scrollYLoad = scrollYLoad
return scrollYLoad
}
@@ -2499,7 +2501,7 @@ export default defineComponent({
tableMethods = {
dispatchEvent (type, params, evnt) {
emit(type, Object.assign({ $table: $xetable, $event: evnt }, params))
emit(type, Object.assign({ $table: $xetable, $grid: $xegrid, $event: evnt }, params))
},
/**
* 重置表格的一切数据状态