html - 在选择选项标签中显示值的问题

标签 html angular

我有一个选择选项标签来显示女性和男性。 如果我通过静态值初始化选项标签,它会起作用,但如果我使用 ngFor ,它不会显示任何值:

组件.ts:

export class MemberListComponent implements OnInit {
  user: User = JSON.parse(localStorage.getItem("user"));
  userParams: any = {};
  genderList: [
    { value: "male"; display: "Males" },
    { value: "female"; display: "Females" }
  ];
  ngOnInit() {
    this.userParams.gender = this.user.gender === "female" ? "male" : "female";
  }
}

这是模板:

<div class="form-group px-2">
    <label for="gender">Show: </label>
    <select class="form-control ml-1" style="width: 130px" id="gender" [(ngModel)]= "userParams.gender" name="gender">
    <option *ngFor= "let gender of genderList" [value] = "gender.value">
      {{gender.display}}
    </option>
  </select>
</div>

最佳答案

问题在于您对genderList 的声明。您无需初始化变量,只需声明其类型且值为 null。将 : 更改为 = 符号。然后,typscript 也会开始提示 json 对象内的 ;

genderList: [
  { value: "male"; display: "Males" },
  { value: "female"; display: "Females" }
];

应该是

genderList = [
  { value: "male", display: "Males" },
  { value: "female", display: "Females" }
];

genderList: User[] = [
  { value: "male", display: "Males" },
  { value: "female", display: "Females" }
];

关于html - 在选择选项标签中显示值的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62568534/

相关文章:

javascript - 尝试从 append 的 html 中触发 onclick 事件

html - 使用 CSS 隐藏数据值

javascript - 如何使两个不同的图像大小相似而不失真?

typescript - Angular 2 异步自定义验证器

@angular/和 angular2/imports 之间的区别

html - 使用angular js在html中显示json嵌套对象的数据

html - 导航菜单未正确下拉

Angular,在运行时编译和创建组件

typescript - 将 Material Design Lite 与 Angular2 集成

javascript - Angular 6 - 由于 NGRX,生产构建失败