Em ts is_edit = true
para desativar ...
<input [disabled]="is_edit=='false' ? true : null" id="name" type="text" [(ngModel)]="model.name" formControlName="name" class="form-control" minlength="2">
Eu simplesmente quero desativar uma entrada com base em true
ou false
.
Eu tentei o seguinte:
[disabled]="is_edit=='false' ? true : null"
[disabled]="is_edit=='true'"
[disabled]="is_edit"
Respostas:
Tente usar
attr.disabled
, em vez dedisabled
fonte
disabled
é igual atrue
oufalse
attr.disabled
funciona quandodisabled
não funciona?Acho que descobri o problema, esse campo de entrada faz parte de uma forma reativa (?), Desde que você incluiu
formControlName
. Isso significa que o que você está tentando fazer desativando o campo de entradais_edit
não está funcionando, por exemplo, sua tentativa[disabled]="is_edit"
, o que em outros casos funcionaria. Com seu formulário, você precisa fazer algo assim:e perder
is_edit
completamente.se você deseja que o campo de entrada seja desabilitado como padrão, defina o controle de formulário como:
Aqui está um plunker
fonte
Você poderia simplesmente fazer isso
fonte
Se você deseja que a entrada seja desativada em alguma instrução. use
[readonly]=true
ou emfalse
vez de desabilitado.fonte
Nazir
não há problemafonte
[disabled]="is_edit"
diretamente. Por que aisDisabled()
função?Eu presumo que você quis dizer, em
false
vez de'false'
Além disso,
[disabled]
está esperando aBoolean
. Você deve evitar retornar anull
.fonte
Uma observação em resposta ao comentário de Belter sobre a resposta aceita pelo fedtuck acima, pois não tenho a reputação de adicionar comentários.
Isso não é verdade para nenhum dos meus conhecimentos, de acordo com os documentos do Mozilla
Quando o atributo desativado está presente, o elemento é desativado, independentemente do valor. Veja este exemplo
fonte
Eu prefiro esta solução
No arquivo HTML:
No arquivo TS:
fonte
O que você está procurando é desativado = "true" . Aqui está um exemplo:
fonte
disabled
atributo HTML e DOM é um "atributo booleano", o que significa que apenas o nome do atributo precisa ser especificado - ou seu valor deve ser igualdisabled
, por exemplo,disabled="disabled" - it does not recognize the values of
true` oufalse
-disabled="false"
ainda assim o elemento será desativado.Demo
make
is_edit
do tipo booleano.fonte
Desativar TextBox no Angular 7
fonte
E também se a caixa / botão de entrada precisar permanecer desativada, simplesmente
<button disabled>
ou<input disabled>
funcione.fonte
Desativado
Select
na angular 9.lembre-se de que o trabalho desabilitado com
boolean
valores neste exemplo, estou usando o(change)
evento com aselect
opção se o país não estiver selecionado. A região será desabilitada.arquivo find.component.ts
find.component.html
fonte
pode usar simplesmente como
Entendi assim. então eu prefiro.
fonte