Fixed #3553 - PanelMenu: Link items can't be opened with a keyboard (slot issue)

pull/3567/head
mertsincan 2023-01-18 23:02:42 +00:00
parent 10bdf93f04
commit 86a34cde87
2 changed files with 10 additions and 7 deletions

View File

@ -70,10 +70,18 @@ export default {
},
data() {
return {
id: this.$attrs.id,
activeItem: null
};
},
watch: {
'$attrs.id': function (newVal) {
this.id = newVal || UniqueComponentId();
}
},
mounted() {
this.id = this.id || UniqueComponentId();
},
methods: {
getItemProp(item, name) {
return item ? ObjectUtils.getItemValue(item[name]) : undefined;
@ -250,11 +258,6 @@ export default {
return ['p-submenu-icon', this.isItemActive(item) ? 'pi pi-chevron-down' : 'pi pi-chevron-right'];
}
},
computed: {
id() {
return this.$attrs.id || UniqueComponentId();
}
},
components: {
PanelMenuList: PanelMenuList
}

View File

@ -200,7 +200,7 @@ export default {
onEnterKey(event) {
if (ObjectUtils.isNotEmpty(this.focusedItem)) {
const element = DomHandler.findSingle(this.$el, `li[id="${`${this.focusedItemId}`}"]`);
const anchorElement = element && DomHandler.findSingle(element, '.p-menuitem-link');
const anchorElement = element && (DomHandler.findSingle(element, '.p-menuitem-link') || DomHandler.findSingle(element, 'a,button'));
anchorElement ? anchorElement.click() : element && element.click();
}