Estoy tratando de deshabilitar la opción según el método.
Ejemplo tengo 4 opciones:
A B C DMi método (ejemplo):
if(name == A) { disable select for A. }Mi código:
this.http.getDataFromServer("api/....).subscribe((resp) => { this.code = resp.data["route"]; console.log(this.code); }); En this.code tengo varios datos. Este es el HTML en el componente:
<div class="form-group"> <label for="route_code"> Route Code </label> <select type="text" class="form-control" formControlName="route_code" (change)="codeSelected($event.target.value)"> <option [value]="r.id" *ngFor="let r of code" [disabled]="disable()"> {{r.code}} </option> </select> </div> Aquí tengo mi código HTML donde r.code son las opciones.
Después de buscar encontré [disable] y puedo asignarlo a un método disable()
Component.ts tiene este código:
disable(){ }¿Qué debo agregar dentro del método de desactivación? Por ejemplo, quiero deshabilitar una opción si r.code == "A". ¿Podrías ayudarme?
Una opción sería pasar el valor para deshabilitar como argumento:
componente.html
<div class="form-group"> <label for="route_code"> Route Code </label> <select type="text" class="form-control" formControlName="route_code" (change)="codeSelected($event.target.value)"> <option [value]="r.id" *ngFor="let r of code" [disabled]="disable(r.code)"> {{r.code}} </option> </select> </div>componente.ts
disable(code: string): boolean { return code === "A"; }Puede pasar la r actual en su método.
<option [value]="r.id" *ngFor="let r of code" [disabled]="disable(r)"> {{r.code}} </option>Luego, en el método de desactivación, puede recibir ese valor que pasó así.
disable(r){ return r.code === "A"; } Esta expresión devolverá true o false .
Esta solución debería funcionar.