diff --git a/api-generator/components/menu.js b/api-generator/components/menu.js
index cd75e0365..8adf6d338 100644
--- a/api-generator/components/menu.js
+++ b/api-generator/components/menu.js
@@ -60,6 +60,10 @@ const MenuSlots = [
{
name: 'item',
description: 'Template of a menuitem.'
+ },
+ {
+ name: 'itemicon',
+ description: 'Custom item icon template.'
}
];
diff --git a/components/lib/menu/Menu.d.ts b/components/lib/menu/Menu.d.ts
index cc02860cb..bc86bd7e4 100755
--- a/components/lib/menu/Menu.d.ts
+++ b/components/lib/menu/Menu.d.ts
@@ -80,6 +80,20 @@ export interface MenuSlots {
*/
item: MenuItem;
}): VNode[];
+ /**
+ * Custom item icon template.
+ * @param {Object} scope - item icon slot's params.
+ */
+ itemicon(scope: {
+ /**
+ * Menuitem instance
+ */
+ item: MenuItem;
+ /**
+ * Style class of the item icon element.
+ */
+ class: any;
+ }): VNode[];
}
/**
diff --git a/components/lib/menu/Menu.vue b/components/lib/menu/Menu.vue
index 84910f1eb..d5413b7c3 100644
--- a/components/lib/menu/Menu.vue
+++ b/components/lib/menu/Menu.vue
@@ -24,12 +24,12 @@