Skip to content

Commit

Permalink
fix(build): menu hydration mismatch
Browse files Browse the repository at this point in the history
  • Loading branch information
m0ksem committed Dec 8, 2023
1 parent 56a28a4 commit 596111b
Showing 1 changed file with 32 additions and 30 deletions.
62 changes: 32 additions & 30 deletions packages/ui/src/components/va-menu-list/VaMenuList.vue
Original file line number Diff line number Diff line change
@@ -1,36 +1,38 @@
<template>
<table class="va-menu-list" ref="container" v-bind="makeMenuContainerAttributes()">
<template v-if="$slots.default">
<template v-for="child in getUnSlottedVNodes($slots.default())">
<component v-if="getVNodeComponentName(child) === 'VaMenuItem'" :is="child" :key="getVNodeKey(child) + 'menuitem'" />
<component v-else-if="getVNodeComponentName(child) === 'VaDropdown'" :is="child" :key="getVNodeKey(child) + 'menu-dropdown'" />
<td colspan="999" v-else :key="getVNodeKey(child)" class="va-menu-list__virtual-td">
<component :is="child" />
</td>
<tbody>
<template v-if="$slots.default">
<template v-for="child in getUnSlottedVNodes($slots.default())">
<component v-if="getVNodeComponentName(child) === 'VaMenuItem'" :is="child" :key="getVNodeKey(child) + 'menuitem'" />
<component v-else-if="getVNodeComponentName(child) === 'VaDropdown'" :is="child" :key="getVNodeKey(child) + 'menu-dropdown'" />
<td colspan="999" v-else :key="getVNodeKey(child)" class="va-menu-list__virtual-td">
<component :is="child" />
</td>
</template>
</template>
</template>
<slot v-else>
<template v-for="(options, groupName) in optionGroups" :key="groupName">
<slot v-if="groupName !== '_noGroup'" name="group">
<VaMenuGroup :group-name="groupName" />
</slot>
<VaMenuItem
v-for="(option) in options"
:key="getTrackBy(option)"
:name="getText(option)" :icon="option.icon"
:right-icon="option.rightIcon"
:disabled="getDisabled(option)"
@selected="$emit('selected', getValue(option), option)"
>
<template #left-icon="bind">
<slot name="left-icon" v-bind="bind" />
</template>
<template #right-icon="bind">
<slot name="right-icon" v-bind="bind" />
</template>
</VaMenuItem>
</template>
</slot>
<slot v-else>
<template v-for="(options, groupName) in optionGroups" :key="groupName">
<slot v-if="groupName !== '_noGroup'" name="group">
<VaMenuGroup :group-name="groupName" />
</slot>
<VaMenuItem
v-for="(option) in options"
:key="getTrackBy(option)"
:name="getText(option)" :icon="option.icon"
:right-icon="option.rightIcon"
:disabled="getDisabled(option)"
@selected="$emit('selected', getValue(option), option)"
>
<template #left-icon="bind">
<slot name="left-icon" v-bind="bind" />
</template>
<template #right-icon="bind">
<slot name="right-icon" v-bind="bind" />
</template>
</VaMenuItem>
</template>
</slot>
</tbody>
</table>
</template>

Expand Down

0 comments on commit 596111b

Please sign in to comment.