We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
vite+vue3 cli创建的Uni项目 ,使用3.0.0-alpha-4050220250208001版本编译微信小程序节点id属性消失,3.0.0-4040520250104002版本正常
编译H5 :
编译到微信小程序:
源码:
<template> <view :style="customStyle" :class="`wd-drop-menu ${customClass}`" @click.stop="noop" :id="dropMenuId"> <!-- #ifdef MP-DINGTALK --> <view :id="dropMenuId"> <!-- #endif --> <view class="wd-drop-menu__list"> <view v-for="(child, index) in children" :key="index" @click="toggle(child)" :class="`wd-drop-menu__item ${child.disabled ? 'is-disabled' : ''} ${child.$.exposed!.getShowPop() ? 'is-active' : ''}`" > <view class="wd-drop-menu__item-title"> <view class="wd-drop-menu__item-title-text">{{ getDisplayTitle(child) }}</view> <wd-icon :name="child.icon" :size="child.iconSize" custom-class="wd-drop-menu__arrow" /> </view> </view> </view> <slot /> <!-- #ifdef MP-DINGTALK --> </view> <!-- #endif --> </view> </template> <script lang="ts"> export default { name: 'wd-drop-menu', options: { virtualHost: true, addGlobalClass: true, styleIsolation: 'shared' } } </script> <script lang="ts" setup> import { getCurrentInstance, inject, onBeforeMount, ref, watch } from 'vue' import { closeOther } from '../common/clickoutside' import { type Queue, queueKey } from '../composables/useQueue' import { getRect, uuid } from '../common/util' import { useChildren } from '../composables/useChildren' import { DROP_MENU_KEY, dropMenuProps } from './types' const props = defineProps(dropMenuProps) const queue = inject<Queue | null>(queueKey, null) const dropMenuId = ref<string>(`dropMenuId${uuid()}`) const offset = ref<number>(0) const windowHeight = ref<number>(0) const { proxy } = getCurrentInstance() as any const { linkChildren, children } = useChildren(DROP_MENU_KEY) linkChildren({ props, fold, offset }) watch( () => props.direction, (newValue) => { if (!['up', 'down'].includes(newValue)) { // eslint-disable-next-line quotes console.error("[wot design] warning(wd-drop-menu): direction must be 'up' or 'down'") } }, { deep: true, immediate: true } ) onBeforeMount(() => { windowHeight.value = uni.getSystemInfoSync().windowHeight }) function noop(event: Event) { event.preventDefault() event.stopPropagation() } function getDisplayTitle(child: any) { const { title, modelValue, options, valueKey, labelKey } = child if (title) { return title } for (let i = 0, len = options.length; i < len; i++) { if (modelValue === options[i][valueKey]) { return options[i][labelKey] } } console.error('[wot-design] warning(wd-drop-menu-item): no value is matched in the options option.') } function toggle(child: any) { // 点击当前 menu, 关闭其他 menu if (child && !child.disabled) { if (queue && queue.closeOther) { queue.closeOther(child) } else { closeOther(child) } fold(child) } } /** * 控制菜单内容是否展开 */ function fold(child: any) { getRect(`#${dropMenuId.value}`, false, proxy).then((rect) => { if (!rect) return const { top, bottom } = rect if (props.direction === 'down') { offset.value = Number(bottom) } else { offset.value = windowHeight.value - Number(top) } child.$.exposed!.toggle() }) } </script> <style lang="scss" scoped> @import './index.scss'; </style>
其中这里有id属性
<view :style="customStyle" :class="`wd-drop-menu ${customClass}`" @click.stop="noop" :id="dropMenuId">
The text was updated successfully, but these errors were encountered:
No branches or pull requests
vite+vue3 cli创建的Uni项目 ,使用3.0.0-alpha-4050220250208001版本编译微信小程序节点id属性消失,3.0.0-4040520250104002版本正常
编译H5 :
编译到微信小程序:
源码:
其中这里有id属性
The text was updated successfully, but these errors were encountered: