ng zorro выберите не загружать опции - PullRequest
0 голосов
/ 25 октября 2019

Я создаю сайт, используя Angular 7. Я использовал библиотеку ng zorro везде в приложении. У меня есть nz-select внутри Form. nz-select динамически загружается моделью. Проблема в том, что у нас есть два языка в модельном объекте. Но язык по умолчанию, указанный в ngModel [(ngModel)]="selectedLanguage", является единственным nz-option внутри nz-select. Я добавил два статических nz-option к nz-select. Но только по умолчанию показывает. Поэтому я просто добавил еще один nz-select ниже текущего с двумя статическими nz-option. Я не дал никакого дефолта этому. Так что ничто не заселено и не перечислено в nz-select. nz-select используется в нескольких местах в приложении, как это. Но это единственное, что не работает.

Примечание. Если мы изменим что-либо в коде, произойдет автоматическая перезагрузка. После автоматической перезагрузки все nz-option будут там. Но если мы перезагрузим вручную, будет отображаться только значение по умолчанию nz-option.

Мой фрагмент кода ниже.

       <nz-form-control>
            <nz-select
                id="preferredLanguage"
                [(ngModel)]="selectedLanguage"
                name="preferredLanguage"
                (ngModelChange)="onValueUpdate('preferredLanguage', $event)"
                required>
                <nz-option
                    *ngFor="let languageType of languages"
                    nzValue="{{languageType.value}}"
                    nzLabel="{{languageType.label | translate}}">
                </nz-option>
            </nz-select>
        </nz-form-control>

.

export enum PreferredLanguage {
  GERMAN = 'GERMAN',
  ENGLISH = 'ENGLISH'
}

.

 selectedLanguage = Object.keys(PreferredLanguage)[0];
 languages = new Array<{ value: string; label: string }>();

ngOnInit(): void {
    Object.keys(PreferredLanguage).forEach(element => {
      this.languages.push({
        value: element,
        label: element
      });
    });
}
...