Merge pull request #640 from ntedgi/accordion-does-not-support-dynamic-tabs-622

Fix issue : Accordion does not support dynamic tabs #622
pull/682/head
Cagatay Civici 2020-11-25 16:01:23 +03:00 committed by GitHub
commit d81c42ed9b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 2 deletions

View File

@ -98,11 +98,24 @@ export default {
getHeaderIcon(i) {
const active = this.isTabActive(i);
return ['p-accordion-toggle-icon pi', {'pi-chevron-right': !active, 'pi-chevron-down': active}];
},
childIsAccordionTab(child) {
return child.type.name === 'accordiontab'
}
},
computed: {
tabs() {
return this.$slots.default().filter(child => child.type.name === 'accordiontab');
const tabs = []
this.$slots.default().forEach(child => {
if (this.childIsAccordionTab(child)) tabs.push(child)
else if (child.children.length > 0)
child.children.forEach(nestedChild => {
if (this.childIsAccordionTab(nestedChild)) tabs.push(nestedChild)
})
}
)
return tabs
},
ariaId() {
return UniqueComponentId();
@ -128,4 +141,4 @@ export default {
.p-accordion-header-text {
line-height: 1;
}
</style>
</style>