Skip to content

Commit 378e573

Browse files
authored
feat(cascader): [cascader,tooltip] cascader selection drop-down panel dark theme adaptation (#2970)
* feat(cascader): [cascader,tooltip] cascader selection drop-down panel dark theme adaptation * feat(cascader): [cascader,tooltip] cascader selection drop-down panel dark theme adaptation * feat(cascader): [cascader,tooltip] cascader selection drop-down panel dark theme adaptation * feat(cascader): [cascader,tooltip] cascader selection drop-down panel dark theme adaptation * feat(cascader): [cascader,tooltip] cascader selection drop-down panel dark theme adaptation * feat(cascader): [cascader,tooltip] cascader selection drop-down panel dark theme adaptation
1 parent 65a4791 commit 378e573

File tree

9 files changed

+19
-17
lines changed

9 files changed

+19
-17
lines changed

examples/sites/demos/pc/app/cascader/filterable-multiple.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import { test, expect } from '@playwright/test'
33
test('多选可搜索', async ({ page }) => {
44
page.on('pageerror', (exception) => expect(exception).toBeNull())
55
await page.goto('cascader#filterable-multiple')
6-
await page.getByRole('textbox', { name: '试试搜索:安装' }).nth(1).click()
7-
await page.getByRole('textbox', { name: '试试搜索:安装' }).nth(1).fill('安装')
6+
await page.getByRole('textbox', { name: '试试搜索:安装' }).click()
7+
await page.getByRole('textbox', { name: '试试搜索:安装' }).fill('安装')
88
await page.waitForTimeout(1000)
99
const text = await page.locator('.tiny-cascader__suggestion-item')
1010
await expect(text).toHaveText([

examples/sites/demos/pc/app/tooltip/control-composition-api.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,6 @@ const disabled = ref(false)
8080
cursor: pointer;
8181
}
8282
.ellipsis:hover {
83-
background-color: #f1f1f1;
83+
background-color: #c0c0c0;
8484
}
8585
</style>

examples/sites/demos/pc/app/tooltip/control.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,6 @@ export default {
8989
cursor: pointer;
9090
}
9191
.ellipsis:hover {
92-
background-color: #f1f1f1;
92+
background-color: #c0c0c0;
9393
}
9494
</style>

examples/sites/demos/pc/app/tooltip/theme.spec.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ test('测试 tooltip 主题', async ({ page }) => {
55
await page.goto('tooltip#theme')
66
await page.waitForTimeout(20)
77

8-
await page.getByRole('button', { name: 'Dark' }).hover()
8+
const tooltipBtn = page.locator('.box')
9+
await tooltipBtn.getByRole('button', { name: 'Dark' }).hover()
910
await expect(page.getByRole('tooltip', { name: 'dark 提示文字' })).toHaveClass(/is-dark/)
1011

11-
await page.getByRole('button', { name: 'Light' }).hover()
12+
await tooltipBtn.getByRole('button', { name: 'Light' }).hover()
1213
await expect(page.getByRole('tooltip', { name: 'light 提示文字' })).toHaveClass(/is-light/)
1314

1415
await page.getByRole('button', { name: 'normal' }).hover()

packages/theme/src/cascader-menu/vars.less

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
// 下拉菜单文本色
1515
--tv-CascaderMenu-text-color: var(--tv-color-text, #191919);
1616
// 下拉菜单边框色
17-
--tv-CascaderMenu-border-color: #f5f5f5; // 无对应变量
17+
--tv-CascaderMenu-border-color: var(--tv-color-border-divider);
1818
// 下拉菜单为空时的文本色
1919
--tv-CascaderMenu-empty-text-color: var(--tv-color-text-weaken, #808080);
2020
// 下拉菜单列表垂直方向的内边距

packages/theme/src/cascader/index.less

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@
117117
}
118118
.@{cascader-prefix-cls}-menu {
119119
border: 1px solid #e4e7ed;
120-
background: #fff;
120+
background:var(--tv-Cascader-dropdown-bg-color);
121121
&:not(:first-child) {
122122
margin-left: -1px;
123123
}
@@ -240,7 +240,8 @@
240240

241241
&__suggestion-panel {
242242
border-radius: calc(var(--tv-Cascader-border-radius) + 4px);
243-
min-height: 240px;
243+
// scroll最大高度支持200,滚动条8px,避免横向滚动条出现在中间
244+
min-height: 192px;
244245
background: var(--tv-Cascader-dropdown-bg-color);
245246
box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.08);
246247
}
@@ -297,6 +298,7 @@
297298
margin-top: var(--tv-Cascader-empty-margin-top);
298299
margin-bottom: var(--tv-Cascader-empty-margin-bottom);
299300
color: var(--tv-Cascader-empty-text-color);
301+
line-height: 200px;
300302
}
301303

302304
&__search-input {
@@ -310,6 +312,7 @@
310312
border: none;
311313
outline: 0;
312314
box-sizing: border-box;
315+
background: var(--tv-Input-bg-color);
313316
}
314317

315318
&__search-input {

packages/theme/src/cascader/vars.less

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
// 下拉列表子项的高度(没有生效)
5353
--tv-Cascader-item-height: 32px;
5454
// 下拉列表子项悬浮时的背景色(没有生效)
55-
--tv-Cascader-item-hover-bg-color: #f5f7fa; // 无对应
55+
--tv-Cascader-item-hover-bg-color: var(--tv-color-bg-hover);
5656
// 搜索后下拉列表无匹配数据的文本色
5757
--tv-Cascader-empty-text-color: var(--tv-color-text-weaken, #808080);
5858
// 搜索框的文本色(没有生效)

packages/vue/src/cascader/__tests__/cascader.test.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -101,19 +101,17 @@ describe('PC Mode', () => {
101101

102102
test('slot', async () => {
103103
const value = 'pppppppppp'
104-
const text = '请输入内容'
105104
const wrapper = mount(() => (
106105
<Cascader
107106
v-model={value}
108107
options={options}
109108
filterable={true}
110109
v-slots={{
111-
empty: () => <div>没有选项</div>
112-
}}
113-
></Cascader>
110+
empty: () => <div class="custom_empty">没有选项</div>
111+
}}></Cascader>
114112
))
115113

116-
expect(wrapper.find('.tiny-cascader__empty-text').exists()).toBe(true)
114+
expect(wrapper.find('.custom_empty').exists()).toBe(true)
117115
})
118116

119117
// 通过 options 属性指定选项数组即可渲染出一个级联选择器

packages/vue/src/cascader/src/pc.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@
4343
<tiny-input
4444
v-if="shape !== 'filter'"
4545
ref="input"
46-
:model-value="state.multiple ? state.presentText : state.inputValue"
46+
:model-value="state.multiple && filterable ? '' : state.inputValues"
4747
:size="state.realSize"
48-
:placeholder="state.placeholder"
48+
:placeholder="state.multiple && filterable ? '' : state.placeholder"
4949
:readonly="state.readonly"
5050
:disabled="state.isDisabled"
5151
:display-only="displayOnly"

0 commit comments

Comments
 (0)