feat(grid): saas theme add filter select style (#3626)

* feat(grid): saas theme add filter select style

* test: fix e2e test case
This commit is contained in:
gimmyhehe 2025-07-31 09:45:18 +08:00 committed by GitHub
parent f3c2499ab7
commit 919f9bbffb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 20 additions and 12 deletions

View File

@ -4,7 +4,6 @@ test('自动加载数据', async ({ page }) => {
page.on('pageerror', (exception) => expect(exception).toBeNull()) page.on('pageerror', (exception) => expect(exception).toBeNull())
await page.goto('grid-data-source#data-source-auto-load') await page.goto('grid-data-source#data-source-auto-load')
// 判断 auto-load 为 false 时不加载数据 // 判断 auto-load 为 false 时不加载数据
await page.getByRole('paragraph').nth(1).click()
const demo = page.locator('#data-source-auto-load') const demo = page.locator('#data-source-auto-load')
await expect(demo.getByText('暂无数据')).toHaveText('暂无数据') await expect(demo.getByText('暂无数据')).toHaveText('暂无数据')
}) })

View File

@ -3,7 +3,8 @@ import { test, expect } from '@playwright/test'
test('根据日期动态生成列', async ({ page }) => { test('根据日期动态生成列', async ({ page }) => {
page.on('pageerror', (exception) => expect(exception).toBeNull()) page.on('pageerror', (exception) => expect(exception).toBeNull())
await page.goto('grid-dynamically-columns#dynamically-columns-dynamically-columns') await page.goto('grid-dynamically-columns#dynamically-columns-dynamically-columns')
await page.getByRole('textbox').nth(1).click() const demo = page.locator('#dynamically-columns-dynamically-columns')
await demo.locator('.tiny-picker.tiny-date-container').click()
await page.getByText('12 月').first().click() await page.getByText('12 月').first().click()
await page.getByText('2 月').nth(2).click() await page.getByText('2 月').nth(2).click()
await expect(page.getByRole('cell', { name: '12' }).first()).toBeVisible() await expect(page.getByRole('cell', { name: '12' }).first()).toBeVisible()

View File

@ -4,9 +4,9 @@ test('列筛选规则', async ({ page }) => {
page.on('pageerror', (exception) => expect(exception).toBeNull()) page.on('pageerror', (exception) => expect(exception).toBeNull())
await page.goto('grid-filter#filter-custom-filter') await page.goto('grid-filter#filter-custom-filter')
await page.getByRole('cell', { name: '名称' }).getByRole('img').click() await page.getByRole('cell', { name: '名称' }).getByRole('img').click()
await page.getByRole('textbox').nth(1).click() await page.locator('.tiny-grid__filter-wrapper.filter__active input').click()
await page.getByRole('textbox').nth(1).press('CapsLock') await page.locator('.tiny-grid__filter-wrapper.filter__active input').press('CapsLock')
await page.getByRole('textbox').nth(1).fill('WWW') await page.locator('.tiny-grid__filter-wrapper.filter__active input').fill('WWW')
await page.getByRole('button', { name: 'confirm' }).click() await page.getByRole('button', { name: 'confirm' }).click()
await expect(page.getByRole('cell', { name: 'WWW 科技 YX 公司' })).toBeVisible() await expect(page.getByRole('cell', { name: 'WWW 科技 YX 公司' })).toBeVisible()
}) })

View File

@ -6,11 +6,12 @@ test('简化版筛选面板 - 单选/多选菜单', async ({ page }) => {
await page.getByRole('cell', { name: '公司名称' }).getByRole('img').click() await page.getByRole('cell', { name: '公司名称' }).getByRole('img').click()
// 筛选面板搜索功能 // 筛选面板搜索功能
await page.getByRole('textbox').nth(1).click() const filterInput = page.locator('.tiny-grid__filter-wrapper.filter__active input')
await page.getByRole('textbox').nth(1).fill('a') await filterInput.click()
await filterInput.fill('a')
await expect(page.getByRole('listitem').filter({ hasText: '暂无数据' })).toBeVisible() await expect(page.getByRole('listitem').filter({ hasText: '暂无数据' })).toBeVisible()
await page.getByRole('textbox').nth(1).click() await filterInput.click()
await page.getByRole('textbox').nth(1).fill('') await filterInput.fill('')
await page.getByTitle('GFD 科技 YX 公司').click() await page.getByTitle('GFD 科技 YX 公司').click()
await page.getByTitle('WWW 科技 YX 公司').click() await page.getByTitle('WWW 科技 YX 公司').click()

View File

@ -89,6 +89,14 @@
@apply text-color-text-inverse; @apply text-color-text-inverse;
} }
} }
&.active {
@apply bg-color-fill-6;
a {
@apply text-color-brand;
}
}
} }
} }

View File

@ -357,8 +357,7 @@ export default defineComponent({
}, },
// 筛选扩展项 // 筛选扩展项
renderExtends() { renderExtends() {
const { filterStore } = this const { filterStore, condition } = this
if (!filterStore.extends) { if (!filterStore.extends) {
return null return null
} }
@ -367,7 +366,7 @@ export default defineComponent({
<ul class="tiny-grid__filter-panel filter-panel__clear"> <ul class="tiny-grid__filter-panel filter-panel__clear">
{filterStore.extends.map((item) => ( {filterStore.extends.map((item) => (
<li <li
class="tiny-grid__filter-option" class={['tiny-grid__filter-option', { active: condition.value === (item.value || item.label) }]}
onClick={() => { onClick={() => {
this.filterExtends(item) this.filterExtends(item)
}}> }}>