tdesign-mobile-vue
Version:
tdesign-mobile-vue
1 lines • 16.1 kB
Source Map (JSON)
{"version":3,"file":"dropdown-menu.mjs","sources":["../../src/dropdown-menu/dropdown-menu.tsx"],"sourcesContent":["import { defineComponent, computed, ref, reactive, watch, provide } from 'vue';\nimport { onClickOutside } from '@vueuse/core';\nimport { CaretDownSmallIcon, CaretUpSmallIcon } from 'tdesign-icons-vue-next';\nimport camelCase from 'lodash/camelCase';\nimport config from '../config';\nimport {\n context as menuContext,\n DropdownMenuState,\n DropdownMenuControl,\n DropdownMenuExpandState,\n TriggerSource,\n} from './context';\nimport { useExpose } from '../shared';\nimport { findRelativeRect, findRelativeContainer } from './dom-utils';\nimport { useContent } from '../hooks/tnode';\nimport DropdownMenuProps from './props';\nimport { TdDropdownItemProps } from './type';\nimport { usePrefixClass } from '../hooks/useClass';\n\nconst { prefix } = config;\n\nexport default defineComponent({\n name: `${prefix}-dropdown-menu`,\n components: { CaretDownSmallIcon, CaretUpSmallIcon },\n props: {\n onMenuOpened: Function,\n onMenuClosed: Function,\n ...DropdownMenuProps,\n },\n emits: ['menuOpened', 'menuClosed'],\n setup(props, { slots }) {\n const dropdownMenuClass = usePrefixClass('dropdown-menu');\n\n const renderContent = useContent();\n\n // 菜单状态\n const state = reactive<DropdownMenuState>({\n activeId: null,\n barRect: {},\n childCount: 0,\n itemsLabel: [],\n });\n\n // 子成员处理\n const menuItems = ref<any>([]);\n const updateItems = () => {\n if (slots.default) {\n const itemName = `${prefix}-dropdown-item`;\n const children = slots.default();\n menuItems.value = children.filter((child: any) => {\n const childTypeName = child?.type?.name;\n return childTypeName?.includes && childTypeName.includes(itemName);\n });\n }\n };\n watch(() => slots?.default?.(), updateItems, {\n deep: true,\n immediate: true,\n });\n\n // 通过 slots.default 子成员,计算标题栏选项\n const menuTitles = computed(() =>\n menuItems.value.map((item: any, index: number) => {\n const { keys, label, value, modelValue, defaultValue, disabled, options } = item.props as TdDropdownItemProps;\n const currentValue = value || modelValue || defaultValue;\n const target = options?.find((item: any) => item[keys?.value ?? 'value'] === currentValue);\n if (state.itemsLabel.length < index + 1) {\n const targetLabel = (target && target[keys?.label ?? 'label']) || '';\n const computedLabel = label || targetLabel;\n\n state.itemsLabel.push(computedLabel);\n\n return {\n labelProps: label, // 优先级: label属性 > 选中项\n label: computedLabel,\n disabled: disabled !== undefined && disabled !== false,\n };\n }\n return {\n labelProps: label,\n label: label || target.label,\n disabled: disabled !== undefined && disabled !== false,\n };\n }),\n );\n\n // 提供子组件访问\n provide('dropdownMenuProps', props);\n provide('dropdownMenuState', state);\n // 根结点样式\n const classes = computed(() => [`${dropdownMenuClass.value}`]);\n // 标题栏结点引用\n const refBar = ref();\n const styleBarItem = computed(() => (item: any, idx: number) => [\n `${dropdownMenuClass.value}__item`,\n {\n [`${dropdownMenuClass.value}__item--disabled`]: item.disabled,\n [`${dropdownMenuClass.value}__item--active`]: idx === state.activeId,\n },\n ]);\n const styleIcon = computed(() => (item: any, idx: number) => [\n `${dropdownMenuClass.value}__icon`,\n {\n [`${dropdownMenuClass.value}__icon--active`]: idx === state.activeId,\n },\n ]);\n\n // 展开对应项目的菜单\n const expandMenu = (item: any, idx: number) => {\n const { disabled } = item;\n\n if (disabled) return;\n\n if (state.activeId === idx) {\n // 再次点击时收起\n collapseMenu();\n props.onMenuClosed?.({ trigger: 'menu' });\n return;\n }\n props.onMenuOpened?.('menuOpened');\n state.activeId = idx;\n state.itemsLabel[idx] = item.label;\n\n // 获取菜单定位\n const bar = refBar.value as any;\n const barRect = findRelativeRect(bar);\n state.barRect = barRect;\n\n // 记录展开状态\n const container = findRelativeContainer(bar) || document.body;\n menuContext.recordMenuExpanded(container, control, DropdownMenuExpandState.expanded);\n };\n const collapseMenu = () => {\n menuTitles.value.forEach((item: any, index: number) => {\n item.label = state.itemsLabel[index];\n });\n state.activeId = null;\n\n // 清除已展开状态记录\n const bar = refBar.value as any;\n const container = findRelativeContainer(bar) || document.body;\n menuContext.recordMenuExpanded(container, control, DropdownMenuExpandState.collapsed);\n };\n\n // dropdown-menu外面点击触发dropdown下拉框收起\n onClickOutside(refBar, () => {\n collapseMenu();\n props.onMenuClosed?.({ trigger: 'outside' });\n });\n\n const control: DropdownMenuControl = {\n expandMenu,\n collapseMenu,\n emitEvents(emit: string, trigger?: TriggerSource) {\n const eventHandler = props[`on${camelCase(emit)}` as keyof typeof props] as Function;\n eventHandler?.(trigger);\n },\n };\n // 提供子组件访问\n provide('dropdownMenuControl', control);\n useExpose({\n toggle(idx?: number) {\n if (idx != null) {\n const item = menuTitles.value[idx];\n expandMenu(item, idx);\n } else {\n collapseMenu();\n }\n },\n });\n\n useExpose({\n expandMenu,\n collapseMenu,\n });\n\n return () => {\n const defaultSlot = renderContent('default', 'content');\n\n const renderDownIcon = (item: any, idx: number) => {\n if (props.direction === 'down') {\n return <caret-down-small-icon class={styleIcon.value(item, idx)} />;\n }\n return <caret-up-small-icon class={styleIcon.value(item, idx)} />;\n };\n\n return (\n <div ref={refBar} class={classes.value}>\n {(menuTitles.value || []).map(\n (item: { label: any; labelProps: TdDropdownItemProps['label'] }, idx: number) => (\n <div class={styleBarItem.value(item, idx)} onClick={() => expandMenu(item, idx)}>\n <div class={`${dropdownMenuClass.value}__title`}>{item.labelProps || item.label}</div>\n {renderDownIcon(item, idx)}\n </div>\n ),\n )}\n {defaultSlot}\n </div>\n );\n };\n },\n});\n"],"names":["prefix","config","defineComponent","name","components","CaretDownSmallIcon","CaretUpSmallIcon","props","_objectSpread","onMenuOpened","Function","onMenuClosed","DropdownMenuProps","emits","setup","_ref","slots","dropdownMenuClass","usePrefixClass","renderContent","useContent","state","reactive","activeId","barRect","childCount","itemsLabel","menuItems","ref","updateItems","default","itemName","children","value","filter","child","_child$type","childTypeName","type","includes","watch","_slots$default","call","deep","immediate","menuTitles","computed","map","item","index","_item$props","keys","label","modelValue","defaultValue","disabled","options","currentValue","target","find","_keys$value","length","_keys$label","targetLabel","computedLabel","push","labelProps","provide","classes","concat","refBar","styleBarItem","idx","_defineProperty","styleIcon","expandMenu","_props$onMenuOpened","_props$onMenuClosed","collapseMenu","trigger","bar","findRelativeRect","container","findRelativeContainer","document","body","menuContext","recordMenuExpanded","control","DropdownMenuExpandState","expanded","forEach","collapsed","onClickOutside","_props$onMenuClosed2","emitEvents","emit","eventHandler","camelCase","useExpose","toggle","defaultSlot","renderDownIcon","direction","_createVNode","_resolveComponent","onClick"],"mappings":"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"}