javascript - ERRO TypeError: Não é possível ler a propriedade 'clientId' de null
Depois de clicar no meu objeto, eu mudo o componente para outro para atualizar este objeto. Neste componente para atualização, eu tenho um formulário que contém um elemento select com opções que devem ser inicializadas com valores do banco de dados (no método OnInit)
e eu preciso selecionar por padrão a partir desta lista de valores o valor do meu objeto
<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>
O problema é que o cliente pode ser nulo e eu quero, nesse caso, mostrar <option></option> como valor padrão com valor vazio, mas eu recebo um erro
não é possível ler valor nulo
Eu tenho meu objeto instanciado ...
Obrigado por ajudar.
Resposta #1
[(ngModel)]="client.clientId" gera o erro. client não está disponível aqui, você o declarou em suas tags option
Esteja ciente de que [value]="xxx" suporta apenas string, se o seu clientId for número, é melhor escolher [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 precisa ser inicializado com um item de clients,
como mencionou ConnorsFan, você pode deixar selectedClient como null, assim nada seria selecionado no início.
