javascript - 错误 TypeError: 无法读取 null 的属性 'clientId'
在点击我的对象后,我将组件更改为另一个组件以更新此对象。在这个用于更新的组件中,我有一个表单,其中包含一个 select 元素,其选项应在 OnInit 方法中使用来自数据库的值进行初始化。
我需要默认从这个值列表中选择我的对象的值
<label>Catégorie Client:</label>
<select class="form-control" [(ngModel)]="client.clientId" >
<option></option>
<option *ngFor="let client of clients" [value]="client.clientId">{{client.name}}</option>
</select>
问题是客户端可能为 null,在这种情况下我想显示 <option></option> 作为默认值且值为空,但我得到了错误
无法读取空值
我已经实例化了我的对象...
谢谢你的帮助。
答案#1
[(ngModel)]="client.clientId" 会产生错误。client 在这里不可用,你是在 option 标签中声明的它
请注意 [value]="xxx" 仅支持字符串,如果你的 clientId 是数字,最好选择 [ngValue]="xxx"
<label>Catégorie Client:</label>
<select
class="form-control"
[(ngModel)]="selectedClient" >
<option></option>
<option
*ngFor="let client of clients"
[ngValue]="client"
>
{{client.name}}
</option>
</select>
selectedClient 需要由 clients 中的一个项目初始化,
正如 ConnorsFan 提到的,你可以将 selectedClient 保留为 null,这样一开始就不会选择任何内容。
