Refactor #5682 - For Dock, Menubar

This commit is contained in:
tugcekucukoglu 2024-05-06 13:32:30 +03:00
parent 5353635407
commit 89b4e1a76a
4 changed files with 49 additions and 11 deletions

View file

@ -274,12 +274,23 @@ export interface DockSlots {
props: DockRouterBindProps;
}): VNode[];
/**
* @deprecated since v4.0. Use 'itemicon' slot.
* Custom icon content.
* @param {Object} scope - icon slot's params.
* @param {Object} scope - item icon slot's params.
*/
icon(scope: {
/**
* Custom content for icon.
* Custom content for item icon.
*/
item: MenuItem;
}): VNode[];
/**
* Custom icon content.
* @param {Object} scope - item icon slot's params.
*/
itemicon(scope: {
/**
* Custom content for item icon.
*/
item: MenuItem;
}): VNode[];

View file

@ -40,10 +40,11 @@
aria-hidden="true"
v-bind="getPTOptions('itemLink', processedItem, index)"
>
<template v-if="!templates['icon']">
<!-- TODO: icon deprecated since v4.0-->
<template v-if="!templates['icon'] && !templates['itemicon']">
<span v-ripple :class="[cx('itemIcon'), processedItem.icon]" v-bind="getPTOptions('itemIcon', processedItem, index)"></span>
</template>
<component v-else :is="templates['icon']" :item="processedItem" :class="cx('itemIcon')"></component>
<component v-else :is="templates['icon'] || templates['itemicon']" :item="processedItem" :class="cx('itemIcon')"></component>
</a>
</template>
<component v-else :is="templates['item']" :item="processedItem" :index="index" :label="processedItem.label" :props="getMenuItemProps(processedItem, index)"></component>