Skip to content

Commit 1fb09a5

Browse files
committed
releases 4.17.32
1 parent 70c3e5f commit 1fb09a5

File tree

5 files changed

+39
-16
lines changed

5 files changed

+39
-16
lines changed

examples/views/table/TableTest1.vue

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
:floating-filter-config="floatingFilterConfig"
1010
:column-config="{resizable: true}"
1111
:virtual-x-config="{enabled: true, gt: 0}"
12-
:data="tableData">
12+
:data="tableData"
13+
@context-menu="contextMenuEvent">
1314
<vxe-column field="col0" title="列0" width="160"></vxe-column>
1415
<vxe-column field="col1" title="列1" width="100"></vxe-column>
1516
<vxe-column field="col2" title="列2" width="160"></vxe-column>
@@ -143,4 +144,8 @@ const loadDataAndColumns = (rowSize: number) => {
143144
}
144145
145146
loadDataAndColumns(20)
147+
148+
const contextMenuEvent = () => {
149+
console.log('11')
150+
}
146151
</script>

examples/views/table/TableTest5.vue

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
:column-config="columnConfig"
1414
:menu-config="menuConfig"
1515
:data="demo1.tableData"
16-
:footer-data="demo1.footerData">
16+
:footer-data="demo1.footerData"
17+
@context-menu="contextMenuEvent">
1718
<vxe-column type="seq" min-width="auto"></vxe-column>
1819
<vxe-column type="checkbox" title="ID" min-width="auto"></vxe-column>
1920
<vxe-column
@@ -129,4 +130,8 @@ onMounted(() => {
129130
demo1.loading = false
130131
}, 100)
131132
})
133+
134+
const contextMenuEvent = () => {
135+
console.log('11')
136+
}
132137
</script>

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "vxe-table",
3-
"version": "4.17.30",
3+
"version": "4.17.32",
44
"description": "A PC-end table component based on Vxe UI, supporting copy-paste, data pivot table, and high-performance virtual list table solution.",
55
"scripts": {
66
"update": "npm install --legacy-peer-deps",

packages/table/src/emits.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export const tableEmits: VxeTableEmits = [
1212
'paste',
1313
'copy',
1414
'cut',
15+
'context-menu',
1516

1617
'columns-change',
1718
'data-change',

packages/table/src/table.ts

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3948,18 +3948,6 @@ export default defineVxeComponent({
39483948

39493949
handleReserveStatus()
39503950
$xeTable.checkSelectionStatus()
3951-
if (initStatus) {
3952-
dispatchEvent('data-rendered', {
3953-
isReload,
3954-
visibleColumn: internalData.visibleColumn,
3955-
visibleData: internalData.afterFullData
3956-
}, null)
3957-
} else {
3958-
dispatchEvent('init-rendered', {
3959-
visibleColumn: internalData.visibleColumn,
3960-
visibleData: internalData.afterFullData
3961-
}, null)
3962-
}
39633951
$xeTable.dispatchEvent('data-change', {
39643952
visibleColumn: internalData.visibleColumn,
39653953
visibleData: internalData.afterFullData
@@ -3986,6 +3974,7 @@ export default defineVxeComponent({
39863974
reactData.isRowLoading = false
39873975
handleRecalculateStyle(false, false, false)
39883976
updateTreeLineStyle()
3977+
39893978
// 如果是自动行高,特殊情况需调用 recalculate 手动刷新
39903979
if (!props.showOverflow) {
39913980
setTimeout(() => {
@@ -4014,6 +4003,19 @@ export default defineVxeComponent({
40144003
})
40154004
}
40164005
})
4006+
}).then(() => {
4007+
if (initStatus) {
4008+
dispatchEvent('data-rendered', {
4009+
isReload,
4010+
visibleColumn: internalData.visibleColumn,
4011+
visibleData: internalData.afterFullData
4012+
}, null)
4013+
} else {
4014+
dispatchEvent('init-rendered', {
4015+
visibleColumn: internalData.visibleColumn,
4016+
visibleData: internalData.afterFullData
4017+
}, null)
4018+
}
40174019
})
40184020
})
40194021
}
@@ -8130,6 +8132,10 @@ export default defineVxeComponent({
81308132
}
81318133
}
81328134

8135+
const contextMenuEvent = (evnt: MouseEvent) => {
8136+
dispatchEvent('context-menu', {}, evnt)
8137+
}
8138+
81338139
/**
81348140
* 全局键盘事件
81358141
*/
@@ -9074,6 +9080,10 @@ export default defineVxeComponent({
90749080
Object.assign(reactData.columnStore, { resizeList, pxList, pxMinList, autoMinList, scaleList, scaleMinList, autoList, remainList })
90759081
},
90769082
handleColResizeMousedownEvent (evnt, fixedType, params) {
9083+
const isLeftBtn = evnt.button === 0
9084+
if (!isLeftBtn) {
9085+
return
9086+
}
90779087
evnt.stopPropagation()
90789088
evnt.preventDefault()
90799089
const { column } = params
@@ -12941,10 +12951,12 @@ export default defineVxeComponent({
1294112951
const scrollbarYToLeft = computeScrollbarYToLeft.value
1294212952
const { isCrossTableDrag } = rowDragOpts
1294312953
const tbOns: {
12954+
onContextmenu: (...args: any[]) => void
1294412955
onKeydown: (...args: any[]) => void
1294512956
onDragover?: (...args: any[]) => void
1294612957
} = {
12947-
onKeydown: keydownEvent
12958+
onKeydown: keydownEvent,
12959+
onContextmenu: contextMenuEvent
1294812960
}
1294912961
if (isCrossTableDrag && !tableData.length) {
1295012962
tbOns.onDragover = $xeTable.handleCrossTableRowDragoverEmptyEvent

0 commit comments

Comments
 (0)