Я создаю сайт, используя 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
});
});
}