+
{triggerElm}
{menuElm}
From 2bf2a7840f231a9037ed0d3ba7040554249f6088 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=94=B3=E5=90=9B=E5=81=A5?= <40288193@qq.com>
Date: Wed, 22 Jan 2025 16:23:13 +0800
Subject: [PATCH 2/4] fix(tooltip): remove :has selector on arrow (#2830)
---
packages/theme/package.json | 4 ++--
packages/theme/src/base/reset.less | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/packages/theme/package.json b/packages/theme/package.json
index 0204756a49..657cb46645 100644
--- a/packages/theme/package.json
+++ b/packages/theme/package.json
@@ -1,7 +1,7 @@
{
"name": "@opentiny/vue-theme",
"type": "module",
- "version": "3.21.1",
+ "version": "3.21.2",
"description": "An enterprise-class UI component library, support both Vue.js 2 and Vue.js 3, as well as PC and mobile.",
"author": "OpenTiny Team",
"license": "MIT",
@@ -93,4 +93,4 @@
]
}
}
-}
+}
\ No newline at end of file
diff --git a/packages/theme/src/base/reset.less b/packages/theme/src/base/reset.less
index eb237cdff0..feb297ea19 100644
--- a/packages/theme/src/base/reset.less
+++ b/packages/theme/src/base/reset.less
@@ -197,9 +197,9 @@
}
// 有箭头的场景,统一规范所有样式
-.tiny-popconfirm-popover:has(.popper__arrow),
-.tiny-popper:has(.popper__arrow),
-.tiny-tooltip__popper:has(.popper__arrow) {
+.tiny-popconfirm-popover,
+.tiny-popper,
+.tiny-tooltip__popper {
.popper__arrow {
position: absolute;
display: block;
@@ -243,4 +243,4 @@
right: -3px;
}
}
-}
+}
\ No newline at end of file
From b5855ee7a9f2e1953953e1b9ccf20e4008cd6d37 Mon Sep 17 00:00:00 2001
From: gimmyhehe <975402925@qq.com>
Date: Wed, 22 Jan 2025 16:54:23 +0800
Subject: [PATCH 3/4] fix(grid): [grid] fix footer bug in visual scroll scene
(#2839)
* fix: [grid] fix footer bug in visual scroll scene
* test: fix e2e test case
---
.../demos/pc/app/grid/editor/custom-edit.spec.js | 4 ++--
packages/vue/src/grid/package.json | 2 +-
packages/vue/src/grid/src/body/src/body.tsx | 14 +++++++-------
packages/vue/src/grid/src/table/src/methods.ts | 6 ++++--
.../src/grid/src/table/src/utils/updateStyle.ts | 7 +++++++
5 files changed, 21 insertions(+), 12 deletions(-)
diff --git a/examples/sites/demos/pc/app/grid/editor/custom-edit.spec.js b/examples/sites/demos/pc/app/grid/editor/custom-edit.spec.js
index 8e740e46b6..59a7a634aa 100644
--- a/examples/sites/demos/pc/app/grid/editor/custom-edit.spec.js
+++ b/examples/sites/demos/pc/app/grid/editor/custom-edit.spec.js
@@ -3,6 +3,6 @@ import { test, expect } from '@playwright/test'
test('多行编辑', async ({ page }) => {
page.on('pageerror', (exception) => expect(exception).toBeNull())
await page.goto('grid-editor#editor-custom-edit')
- await expect(page.getByRole('row', { name: '1 请选择 保存 取消' }).getByRole('textbox').first()).toBeVisible()
- await expect(page.getByRole('row', { name: '2 请选择 保存 取消' }).getByRole('textbox').first()).toBeVisible()
+ await expect(page.getByRole('cell', { name: 'GFD 科技有限公司' }).getByRole('textbox')).toBeVisible()
+ await expect(page.getByRole('cell', { name: 'WWWW 科技有限公司' }).getByRole('textbox')).toBeVisible()
})
diff --git a/packages/vue/src/grid/package.json b/packages/vue/src/grid/package.json
index 3fbabf144d..e2b2a44744 100644
--- a/packages/vue/src/grid/package.json
+++ b/packages/vue/src/grid/package.json
@@ -1,7 +1,7 @@
{
"name": "@opentiny/vue-grid",
"type": "module",
- "version": "3.21.1",
+ "version": "3.21.2",
"description": "",
"license": "MIT",
"sideEffects": false,
diff --git a/packages/vue/src/grid/src/body/src/body.tsx b/packages/vue/src/grid/src/body/src/body.tsx
index c6b7ec9680..9362579251 100644
--- a/packages/vue/src/grid/src/body/src/body.tsx
+++ b/packages/vue/src/grid/src/body/src/body.tsx
@@ -751,11 +751,12 @@ function renderDefEmpty(h) {
}
const syncHeaderAndFooterScroll = ({ bodyElem, footerElem, headerElem, isX }) => {
+ const scrollLeft = bodyElem.scrollLeft
if (isX && headerElem) {
- headerElem.scrollLeft = bodyElem.scrollLeft
+ headerElem.scrollLeft = scrollLeft
}
if (isX && footerElem) {
- footerElem.scrollLeft = bodyElem.scrollLeft
+ footerElem.scrollLeft = scrollLeft
}
}
@@ -870,10 +871,6 @@ export default defineComponent({
// 空数据元素
elemStore[`${keyPrefix}emptyBlock`] = $refs.emptyBlock
- // 表体第一层div监听滚动事件
- $el.onscroll = this.scrollEvent
- $el._onscroll = this.scrollEvent
-
if (dropConfig) {
const { plugin, row = true } = dropConfig
plugin && row && (this.rowSortable = $table.rowDrop(this.$el))
@@ -907,7 +904,10 @@ export default defineComponent({
'div',
{
ref: 'body',
- class: ['tiny-grid__body-wrapper', 'body__wrapper', { [classMap.isScrollload]: scrollLoad }]
+ class: ['tiny-grid__body-wrapper', 'body__wrapper', { [classMap.isScrollload]: scrollLoad }],
+ on: {
+ scroll: this.scrollEvent
+ }
},
[
// 表格主体内容x轴方向虚拟滚动条占位元素
diff --git a/packages/vue/src/grid/src/table/src/methods.ts b/packages/vue/src/grid/src/table/src/methods.ts
index b97546746d..6f6a16dd78 100644
--- a/packages/vue/src/grid/src/table/src/methods.ts
+++ b/packages/vue/src/grid/src/table/src/methods.ts
@@ -1644,8 +1644,10 @@ const Methods = {
// 设置新的渲染列触发Vue渲染
this.tableColumn = ret.tableColumn
this.visibleColumnChanged = ret.visibleColumnChanged
-
- this.$nextTick(this.updateStyle)
+ this.$nextTick(() => {
+ this.updateFooter()
+ this.updateStyle()
+ })
})
},
// 更新横向 X 可视渲染上下剩余空间大小
diff --git a/packages/vue/src/grid/src/table/src/utils/updateStyle.ts b/packages/vue/src/grid/src/table/src/utils/updateStyle.ts
index eb2d7af0f1..f9d9e513a0 100644
--- a/packages/vue/src/grid/src/table/src/utils/updateStyle.ts
+++ b/packages/vue/src/grid/src/table/src/utils/updateStyle.ts
@@ -44,6 +44,7 @@ function getTableWidth({ scrollXLoad, tWidth, tableColumn }) {
}
function layoutFooter({
+ elemStore,
customHeight,
footerHeight,
headerHeight,
@@ -61,6 +62,11 @@ function layoutFooter({
let tWidth = tableWidth
// 如果是固定列与设置了超出隐藏
let ret = getTableWidth({ scrollXLoad, tWidth, tableColumn })
+ // 为表尾设置虚拟滚动占位宽度
+ const spaceElem = elemStore['main-footer-x-space']
+ if (spaceElem) {
+ spaceElem.style.width = `${tableWidth}px`
+ }
tableColumn = ret.tableColumn
tWidth = ret.tWidth
@@ -242,6 +248,7 @@ export function handleLayout(params) {
tableColumn = ret.tableColumn
} else if (layout === 'footer') {
tableColumn = layoutFooter({
+ elemStore,
customHeight,
fixedWrapperElem,
footerHeight,
From 824ec5257ba703f7acdf1acaf1836e7f12118ed0 Mon Sep 17 00:00:00 2001
From: ajaxzheng <894103554@qq.com>
Date: Wed, 22 Jan 2025 16:57:30 +0800
Subject: [PATCH 4/4] chore: update @opentiny/vue version
---
packages/vue/package.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/packages/vue/package.json b/packages/vue/package.json
index dadf75dfea..96b77bfb65 100644
--- a/packages/vue/package.json
+++ b/packages/vue/package.json
@@ -1,7 +1,7 @@
{
"name": "@opentiny/vue",
"private": true,
- "version": "3.21.1",
+ "version": "3.21.2",
"description": "An enterprise-class UI component library, support both Vue.js 2 and Vue.js 3, as well as PC and mobile.",
"homepage": "https://opentiny.design/tiny-vue",
"keywords": [
@@ -275,4 +275,4 @@
"build": "pnpm -w build:ui",
"postversion": "pnpm build"
}
-}
\ No newline at end of file
+}