Skip to content

Commit cb408f5

Browse files
fix: 🐛 修复 DropDownItem 自定义样式类 CustomIcon 无效的问题
Closes: #1119
1 parent f2e8fda commit cb408f5

4 files changed

Lines changed: 22 additions & 9 deletions

File tree

src/subPages/dropMenu/Index.vue

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
<wd-drop-menu-item ref="dropMenu" :title="$t('shai-xuan')" @opened="handleOpened">
1717
<view>
1818
<wd-slider v-model="valuetest" ref="slider" />
19-
<wd-cell :title="$t('biao-ti-wen-zi-10')" value="内容" />
20-
<wd-cell :title="$t('biao-ti-wen-zi-10')" label="$t('miaoShuXinXi-0')" value="内容" />
19+
<wd-cell :title="$t('biao-ti-wen-zi-10')" :value="$t('nei-rong')" />
20+
<wd-cell :title="$t('biao-ti-wen-zi-10')" :label="$t('miaoShuXinXi-0')" :value="$t('nei-rong')" />
2121
<view style="padding: 0 10px 20px; box-sizing: border-box">
2222
<wd-button block size="large" @click="confirm">{{ $t('zhu-yao-an-niu') }}</wd-button>
2323
</view>
@@ -47,7 +47,7 @@
4747
</demo-block>
4848
<demo-block :title="$t('xiang-shang-dan-chu')" transparent>
4949
<wd-drop-menu direction="up">
50-
<wd-drop-menu-item v-model="value6" :options="option1" @change="handleChange6" />
50+
<wd-drop-menu-item v-model="value6" :options="option1" @change="handleChange6" custom-title="custom-title" custom-icon="custom-icon" />
5151
<wd-drop-menu-item v-model="value7" :options="option2" @change="handleChange7" />
5252
</wd-drop-menu>
5353
</demo-block>
@@ -163,4 +163,11 @@ const handleBeforeToggle: DropMenuItemBeforeToggle = ({ status, resolve }) => {
163163
background: #fff;
164164
text-align: center;
165165
}
166+
167+
:deep(.custom-title) {
168+
color: red;
169+
}
170+
:deep(.custom-icon) {
171+
color: red;
172+
}
166173
</style>

src/uni_modules/wot-design-uni/components/wd-drop-menu-item/index.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
width: 100%;
2222
z-index: 101;
2323

24-
.wd-drop-item__popup {
24+
@include e(popup){
2525
position: absolute;
2626
max-height: 80%;
2727
}

src/uni_modules/wot-design-uni/components/wd-drop-menu-item/types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { ComponentPublicInstance, ExtractPropTypes, PropType } from 'vue'
2-
import { baseProps, makeArrayProp, makeBooleanProp, makeStringProp } from '../common/props'
2+
import { baseProps, makeArrayProp, makeBooleanProp, makeNumericProp, makeStringProp, numericProp } from '../common/props'
33

44
export type DropMenuItemBeforeToggleOption = {
55
// 操作状态:true 打开下拉菜单,false 关闭下拉菜单
@@ -47,7 +47,7 @@ export const dorpMenuItemProps = {
4747
/**
4848
* 菜单图标大小
4949
*/
50-
iconSize: makeStringProp('14px'),
50+
iconSize: numericProp,
5151
/**
5252
* 自定义点击事件
5353
*/

src/uni_modules/wot-design-uni/components/wd-drop-menu-item/wd-drop-menu-item.vue

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@
3232
<wd-icon
3333
v-if="(item[valueKey] !== '' ? item[valueKey] : item) === modelValue"
3434
:name="iconName"
35-
size="20px"
36-
:class="`wd-drop-item__icon ${customIcon}`"
35+
:custom-class="`wd-drop-item__icon ${customIcon}`"
3736
/>
3837
</view>
3938
</view>
@@ -65,7 +64,14 @@ import { isDef, isFunction } from '../common/util'
6564
import { dorpMenuItemProps, type DropMenuItemExpose } from './types'
6665
6766
const props = defineProps(dorpMenuItemProps)
68-
const emit = defineEmits(['change', 'update:modelValue', 'open', 'opened', 'closed', 'close'])
67+
const emit = defineEmits<{
68+
(e: 'update:modelValue', value: string | number): void
69+
(e: 'change', event: { value: string | number; selectedItem: Record<string, any> }): void
70+
(e: 'open'): void
71+
(e: 'opened'): void
72+
(e: 'close'): void
73+
(e: 'closed'): void
74+
}>()
6975
7076
const queue = inject<Queue | null>(queueKey, null)
7177
const showWrapper = ref<boolean>(false)

0 commit comments

Comments
 (0)