W ts, is_edit = true
aby wyłączyć ...
<input [disabled]="is_edit=='false' ? true : null" id="name" type="text" [(ngModel)]="model.name" formControlName="name" class="form-control" minlength="2">
Chcę po prostu wyłączyć dane wejściowe oparte na true
lub false
.
Próbowałem śledzić:
[disabled]="is_edit=='false' ? true : null"
[disabled]="is_edit=='true'"
[disabled]="is_edit"
Odpowiedzi:
Spróbuj użyć
attr.disabled
zamiastdisabled
źródło
disabled
równa siętrue
lubfalse
attr.disabled
działa, kiedydisabled
nie?Myślę, że rozwiązałem problem, to pole wejściowe jest częścią formularza reaktywnego (?), Ponieważ włączyłeś
formControlName
. Oznacza to, że to, co próbujesz zrobić, wyłączając pole wprowadzania danych,is_edit
nie działa, np. Twoja próba[disabled]="is_edit"
, która w innych przypadkach zadziała. W swoim formularzu musisz zrobić coś takiego:i
is_edit
całkowicie stracić .jeśli chcesz, aby pole wejściowe było domyślnie wyłączone, musisz ustawić kontrolkę formularza jako:
Oto plunker
źródło
Możesz to po prostu zrobić
źródło
Jeśli chcesz, aby dane wejściowe były wyłączone w niektórych instrukcjach. użyj
[readonly]=true
lubfalse
zamiast wyłączone.źródło
Nazir
nie ma problemuźródło
[disabled]="is_edit"
bezpośrednio. DlaczegoisDisabled()
funkcja?Zakładam, że miałeś na myśli
false
zamiast'false'
Ponadto,
[disabled]
oczekujeBoolean
. Należy unikać zwracania plikunull
.źródło
Uwaga w odpowiedzi na komentarz Beltera na temat zaakceptowanej odpowiedzi fedtucka powyżej, ponieważ nie mam reputacji, aby dodawać komentarze.
Nie dotyczy to żadnego, o czym jestem świadomy, zgodnie z dokumentacją Mozilli
Gdy atrybut disabled jest obecny, element jest wyłączony niezależnie od wartości. Zobacz ten przykład
źródło
Wolę to rozwiązanie
W pliku HTML:
W pliku TS:
źródło
To, czego szukasz, jest wyłączone = „prawda” . Oto przykład:
źródło
disabled
atrybut HTML i DOM jest „atrybutem logicznym”, co oznacza, że należy podać tylko nazwę atrybutu - lub jego wartość musi być równadisabled
, np.disabled="disabled" - it does not recognize the values of
True` lubfalse
- więcdisabled="false"
nadal spowoduje wyłączenie elementu.Próbny
marka
is_edit
typu boolean.źródło
Wyłącz TextBox w Angular 7
źródło
A także jeśli pole / przycisk wprowadzania danych musi pozostać wyłączone, to po prostu
<button disabled>
lub<input disabled>
działa.źródło
Wyłączone
Select
w kątowej 9.jedna rzecz, pamiętaj o wyłączonej pracy z
boolean
wartościami w tym przykładzie, używam(change)
zdarzenia zselect
opcją, jeśli kraj nie jest wybrany, region zostanie wyłączony.find.component.ts
find.component.html
źródło
można używać po prostu jak
Mam to w ten sposób. więc wolę.
źródło