Как открыть вкладку аккордеона при загрузке страницы - PullRequest
0 голосов
/ 05 апреля 2019

Я хочу открыть вкладку при загрузке страницы по умолчанию.Сейчас он свернут, и чтобы открыть вкладку аккордеона, я должен нажать на кнопку.Я не хочу каждый раз нажимать на кнопку, чтобы открыть вкладку.

<div><p-accordion >
  <p-accordionTab  header="Add  Detail" >
    <add-details [state]="'addNew'"></add-details>
  </p-accordionTab>
</p-accordion>
</div>

Вытащено из комментария:

open] = true не работает Uncaught Error: Template parseошибки: Невозможно связать с «open», так как это не известное свойство p-accordionTab.1. Если p-accordionTab является угловым компонентом и имеет открытый вход, то убедитесь, что он является частью этого модуля.2. Если «p-accordionTab» является веб-компонентом, то добавьте «CUSTOM_ELEMENTS_SCHEMA» в «@ NgModule.schemas» этого компонента, чтобы подавить это сообщение.3. Чтобы разрешить любое свойство, добавьте «NO_ERRORS_SCHEMA» к «@ NgModule.schemas» этого компонента.("<div><p-accordion >

1 Ответ

0 голосов
/ 05 апреля 2019

Вы не предоставили достаточно кода для предоставления полного и проверенного ответа, но в основном вы хотите применить идентификатор к аккордеону с синтаксисом # (#accord), а затем использовать декоратор ViewChild в своем коде, чтобы предоставьте переменную ссылку на этот аккордеон, а затем вызовите метод open () для этой ссылки в вашем методе OnInit.

Примерно так:

<div><p-accordion #accord>
  <p-accordionTab  header="Add  Detail" >
    <add-details [state]="'addNew'"></add-details>
  </p-accordionTab>
</p-accordion>
</div>

Тогда в ваших определениях переменных:

  @ViewChild('accord')
  private accord: Accordion;

А в OnInit:

ngOnInit() {
    this.accord.open();
    // or this.accord.tabs[0].selected = true;
}

Я не уверен, что точный синтаксис для Аккордеона - я предполагаю, что вы используете PrimeNG Accordion, однако вы этого не заявили, поэтому трудно точно решить вашу проблему, но, надеюсь, это укажет вам правильное направление .

Если вы console.log («this.accord:», this.accord); вы получите все методы и атрибуты для Аккордеона и, надеюсь, сможете найти именно тот, который вам нужен, чтобы делать то, что вы пытаетесь сделать.

...