Skip to content

Commit

Permalink
releases 4.9.9
Browse files Browse the repository at this point in the history
  • Loading branch information
xuliangzhan committed Nov 27, 2024
1 parent 798db58 commit e427954
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 31 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "vxe-table",
"version": "4.9.8",
"version": "4.9.9",
"description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、拖拽排序,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...",
"scripts": {
"update": "npm install --legacy-peer-deps",
Expand Down
20 changes: 16 additions & 4 deletions packages/table/module/edit/hook.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,14 @@ hooks.add('tableEditModule', {
if (treeConfig && transform) {
insertTreeRow(newRecords, false)
} else {
afterFullData.unshift(...newRecords)
tableFullData.unshift(...newRecords)
newRecords.forEach(item => {
const rowid = getRowid($xeTable, item)
const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, items: afterFullData, parent: null, level: 0, height: 0 }
fullDataRowIdData[rowid] = rest
fullAllDataRowIdData[rowid] = rest
afterFullData.push(item)
tableFullData.push(item)
})
// 刷新单元格合并
mergeList.forEach((mergeItem: any) => {
const { row: mergeRowIndex } = mergeItem
Expand All @@ -136,8 +142,14 @@ hooks.add('tableEditModule', {
if (treeConfig && transform) {
insertTreeRow(newRecords, true)
} else {
afterFullData.push(...newRecords)
tableFullData.push(...newRecords)
newRecords.forEach(item => {
const rowid = getRowid($xeTable, item)
const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, items: afterFullData, parent: null, level: 0, height: 0 }
fullDataRowIdData[rowid] = rest
fullAllDataRowIdData[rowid] = rest
afterFullData.push(item)
tableFullData.push(item)
})
// 刷新单元格合并
mergeList.forEach((mergeItem: any) => {
const { row: mergeRowIndex, rowspan: mergeRowspan } = mergeItem
Expand Down
13 changes: 8 additions & 5 deletions packages/table/src/body.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { createCommentVNode, defineComponent, TransitionGroup, h, ref, Ref, PropType, inject, nextTick, ComputedRef, onBeforeUnmount, onMounted, onUnmounted } from 'vue'
import XEUtils from 'xe-utils'
import { VxeUI } from '../../ui'
import { mergeBodyMethod, getRowid, XEBodyScrollElement, getRefElem } from './util'
import { mergeBodyMethod, getRowid, getRefElem } from './util'
import { updateCellTitle, getPropClass, setScrollTop, setScrollLeft } from '../../ui/src/dom'
import { isEnableConf } from '../../ui/src/utils'
import { getSlotVNs } from '../../ui/src/vn'
Expand Down Expand Up @@ -38,7 +38,7 @@ export default defineComponent({
const { refTableBody, refTableHeader, refTableFooter, refTableLeftBody, refTableRightBody, refScrollXHandleElem, refScrollYHandleElem } = $xeTable.getRefMaps()
const { computeEditOpts, computeMouseOpts, computeAreaOpts, computeSYOpts, computeEmptyOpts, computeKeyboardOpts, computeTooltipOpts, computeRadioOpts, computeExpandOpts, computeTreeOpts, computeCheckboxOpts, computeCellOpts, computeValidOpts, computeRowOpts, computeColumnOpts } = $xeTable.getComputeMaps()

const refElem = ref() as Ref<XEBodyScrollElement>
const refElem = ref() as Ref<HTMLDivElement>
const refBodyTable = ref() as Ref<HTMLTableElement>
const refBodyColgroup = ref() as Ref<HTMLTableColElement>
const refBodyTBody = ref() as Ref<HTMLTableSectionElement>
Expand Down Expand Up @@ -566,9 +566,12 @@ export default defineComponent({
const scrollBodyElem = refElem.value
const headerElem = tableHeader ? tableHeader.$el as HTMLDivElement : null
const footerElem = tableFooter ? tableFooter.$el as HTMLDivElement : null
const bodyElem = tableBody.$el as XEBodyScrollElement
const leftElem = leftBody ? leftBody.$el as XEBodyScrollElement : null
const rightElem = rightBody ? rightBody.$el as XEBodyScrollElement : null
const bodyElem = tableBody.$el as HTMLDivElement
if (!bodyElem) {
return
}
const leftElem = leftBody ? leftBody.$el as HTMLDivElement : null
const rightElem = rightBody ? rightBody.$el as HTMLDivElement : null
const xHandleEl = refScrollXHandleElem.value
const yHandleEl = refScrollYHandleElem.value
const scrollTop = scrollBodyElem.scrollTop
Expand Down
8 changes: 7 additions & 1 deletion packages/table/src/footer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,13 @@ export default defineComponent({
const tableBody = refTableBody.value
const headerElem = tableHeader ? tableHeader.$el as HTMLDivElement : null
const footerElem = refElem.value
const bodyElem = tableBody.$el as HTMLDivElement
if (!footerElem) {
return
}
const bodyElem = tableBody ? tableBody.$el as HTMLDivElement : null
if (!bodyElem) {
return
}
const xHandleEl = refScrollXHandleElem.value
const scrollLeft = footerElem.scrollLeft
const isRollX = true
Expand Down
8 changes: 4 additions & 4 deletions packages/table/src/table.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import TableHeaderComponent from './header'
import TableFooterComponent from './footer'
import tableProps from './props'
import tableEmits from './emits'
import { getRowUniqueId, clearTableAllStatus, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, XEBodyScrollElement, getRootColumn, getRefElem } from './util'
import { getRowUniqueId, clearTableAllStatus, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getRefElem } from './util'
import { getSlotVNs } from '../../ui/src/vn'
import { warnLog, errLog } from '../../ui/src/log'
import TableCustomPanelComponent from '../module/custom/panel'
Expand Down Expand Up @@ -3594,7 +3594,7 @@ export default defineComponent({
isInsertByRow (row) {
const { editStore } = reactData
const rowid = getRowid($xeTable, row)
return editStore.insertMaps[rowid]
return !!editStore.insertMaps[rowid]
},
/**
* 删除所有新增的临时数据
Expand Down Expand Up @@ -4933,8 +4933,8 @@ export default defineComponent({
const leftBody = refTableLeftBody.value
const rightBody = refTableRightBody.value
const leftBodyElem = leftBody ? leftBody.$el as HTMLDivElement : null
const tableBodyElem = tableBody ? tableBody.$el as XEBodyScrollElement : null
const rightBodyElem = rightBody ? rightBody.$el as XEBodyScrollElement : null
const tableBodyElem = tableBody ? tableBody.$el as HTMLDivElement : null
const rightBodyElem = rightBody ? rightBody.$el as HTMLDivElement : null
const tableHeaderElem = tableHeader ? tableHeader.$el as HTMLDivElement : null
const tableFooterElem = tableFooter ? tableFooter.$el as HTMLDivElement : null
const xHandleEl = refScrollXHandleElem.value
Expand Down
16 changes: 0 additions & 16 deletions packages/table/src/util.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,6 @@ export const convertHeaderColumnToRows = (originColumns: any): any[][] => {
return rows
}

export interface XEBodyScrollElement extends HTMLDivElement {
_onscroll: ((evnt: Event) => void) | null;
}

export function restoreScrollLocation ($xeTable: VxeTableConstructor, scrollLeft: number, scrollTop: number) {
const { internalData } = $xeTable
return $xeTable.clearScroll().then(() => {
Expand All @@ -85,18 +81,6 @@ export function restoreScrollLocation ($xeTable: VxeTableConstructor, scrollLeft
})
}

// export function removeScrollListener (scrollElem: XEBodyScrollElement | null) {
// if (scrollElem && scrollElem._onscroll) {
// scrollElem.onscroll = null
// }
// }

// export function restoreScrollListener (scrollElem: XEBodyScrollElement | null) {
// if (scrollElem && scrollElem._onscroll) {
// scrollElem.onscroll = scrollElem._onscroll
// }
// }

/**
* 生成行的唯一主键
*/
Expand Down

0 comments on commit e427954

Please sign in to comment.