page navigationend angular2 html angular angular2-template angular2-forms

html - navigationend - title angular 6



Botón de desactivación Angular2 (10)

Actualizar

Me pregunto. ¿Por qué no desea utilizar el enlace de atributo [disabled] proporcionado por Angular 2? Es la forma correcta de lidiar con esta situación. Le propongo que mueva su cheque isValid través del método de componente.

<button [disabled]="! isValid" (click)="onConfirm()">Confirm</button>

El problema con lo que probaste se explica a continuación

Básicamente, podría usar ngClass aquí. Pero agregar clase no restringiría la activación del evento. Para activar el evento en una entrada válida, debe cambiar el código del evento de click a continuación. De modo que onConfirm se disparará solo cuando el campo sea válido.

<button [ngClass]="{disabled : !isValid}" (click)="isValid && onConfirm()">Confirm</button>

plnkr.co/edit/MW3vT4XscWcKrDdAwBoE?p=preview

Sé que en angular2 puedo deshabilitar un botón con el atributo [disable] , por ejemplo:

<button [disabled]="!isValid" (click)="onConfirm()">Confirm</button>

pero ¿puedo hacerlo usando [ngClass] o [ngStyle] ? Al igual que:

<button [ngStyle]="{disabled : !isValid}" (click)="onConfirm()">Confirm</button>

Gracias.


Creo que esta es la forma más fácil.

<!-- Submit Button--> <button mat-raised-button color="primary" [disabled]="!f.valid" > Submit </button>


El uso de ngClass para deshabilitar el botón de forma no válida no es una buena práctica en Angular2 cuando proporciona características incorporadas para habilitar y deshabilitar el botón si el formulario es válido e inválido respectivamente sin hacer ningún esfuerzo / lógica adicional.

[disabled] hará todo como si el formulario es válido, entonces se habilitará y si el formulario no es válido, se desactivará automáticamente.

Ver ejemplo:

<form (ngSubmit)="f.form.valid" #f="ngForm" novalidate> <input type="text" placeholder="Name" [(ngModel)]="txtName" name="txtname" #textname="ngModel" required> <input type="button" class="mdl-button" [disabled]="!f.form.valid" (click)="onSave()" name="">


Puede estar debajo del código puede ayudar:

<button [attr.disabled]="!isValid ? true : null">Submit</button>


Si está utilizando formularios reactivos y desea deshabilitar alguna entrada asociada con un control de formulario, debe colocar esta lógica disabled en su código y llamar a yourFormControl.disable() o yourFormControl.enable()



Traté de usar deshabilitado junto con evento de clic. A continuación se muestra el fragmento, la respuesta aceptada también funcionó perfectamente bien, estoy agregando esta respuesta para dar un ejemplo de cómo se puede usar con propiedades deshabilitadas y de clic.

<button (click)="!planNextDisabled && planNext()" [disabled]="planNextDisabled"></button>


Yo recomendaría lo siguiente.

<button [disabled]="isInvalid()">Submit</button>



<button [disabled]="this.model.IsConnected() == false" [ngClass]="setStyles()" class="action-button action-button-selected button-send" (click)= "this.Send()"> SEND </button>

código .ts

setStyles() { let styles = { ''action-button-disabled'': this.model.IsConnected() == false }; return styles; }