繁体   English   中英

结合 ngModel 设置默认(选择)选项

[英]Set a default (select) option in combination with ngModel

我有一个包含 select 的组件。

选项使用@Input 设置并与 ngModel 绑定。 但是我不能用这个组合设置默认值。

我的组件:

export class someComponent {
  @input() options: any[];
  @Input() selectedOption: any;
  @Output() optionChanged = new EventEmitter<any>();

  onOptionChanged() {
    this.optionChanged.emit(this.selectedOption);
  }
}

HTML:

<select *ngIf="options" [(ngModel)]="selectedOption" (change)="onOptionChange_select(selectedOption)">
  <option selected disabled>Select an option</option>
  <option *ngFor="let option of options" [value]="option.text">{{option.text}}</option>
</select>

afterviewInit 不起作用,并且设置第一个选项的值对我也不起作用。

第一个选项不绑定

我想设置加载时选择的第一个选项。 使用此代码,加载组件时不会选择任何选项。

选项输入如下:

[{id:'1',文本:'option1'},{id:'2',文本:'option2'}]

利用ngOnChanges ,这将在每次父值更改时默认值。

ngOnChanges(change: SimpleChanges){
  if(change['options']){
     this.selectedOption = 'Select an option';
   }
 }

或者使用 ngOnInit

ngOnInit(): void {
  this.selectedOption = 'Select an option';
}

您已默认选择“选择一个选项”

<option selected disabled>Select an option</option>

请删除此选定的属性或在此添加条件

<option [selected]="!selectedOption" disabled>Select an option</option>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM