Для этого вам нужно добавить какой-нибудь input
метод, подобный этому (input)
на html пример
(input)="FirstAccordion($event)"
Для этого вы можете проверить, что пользователь вводит что-то в поле ввода или нет, например
let first = event.target.value;
После этого вам нужно добавить атрибут [disabled]="whatEverYouWantName"
в каждый заголовок, например
<p-accordionTab header="Address Name" [disabled]="address"></p-accordionTab>
, если вы хотите закрыть первое аккордеон по умолчанию, затем добавьте этот атрибут [selected]="false"
в первый вкладка для примера
<p-accordionTab header="first Name" [selected]="true">
Пример полного кода
HTML
<p-accordion>
<p-accordionTab header="first Name" [selected]="true" [disabled]="firstname">
<form>
first Name<br/>
<input type="text" (input)="FirstAccordion($event)"/>
<button type="button">Save</button>
</form>
</p-accordionTab>
<p-accordionTab header="Last Name" [disabled]="lastname">
Last Name<br/>
<input type="text" (input)="SecondAccordion($event)"/>
<button type="button">Save</button>
</p-accordionTab>
<p-accordionTab header="Address Name" [disabled]="address">
Address Name<br/>
<input type="text" (input)="ThirdAccordion($event)"/>
<button type="button">Save</button>
</p-accordionTab>
</p-accordion>
TS
firstname: boolean = false;
lastname: boolean = false;
address: boolean = false;
FirstAccordion(event) {
console.log(event.target.value);
let first = event.target.value;
if (first) {
this.lastname = true;
this.address = true;
} else if (first == '') {
this.lastname = false;
this.address = false;
}
}
SecondAccordion(event) {
console.log(event.target.value);
let last = event.target.value;
if (last) {
this.firstname = true;
this.address = true;
} else if (last == '') {
this.firstname = false;
this.address = false;
}
}
ThirdAccordion(event) {
console.log(event.target.value);
let address = event.target.value;
if (address) {
this.firstname = true;
this.lastname = true;
} else if (address == '') {
this.firstname = false;
this.lastname = false;
}
}
теперь вперед, вы должны сделать некоторые логи c согласно вашему требованию, и на кнопке сохранения не написано никаких логов c вы должны написать на нем
вот мой стек Проверьте здесь или просмотрите здесь