hi je suis une méthode d'appel de la méthode onChange, mais pour une entrée de calendrier, il ne s'agit pas d'appliquer.Below est le code. [(Modifier) = "MakeDirty ()"]. Il fonctionne pour la description Textbox mais ne fonctionne pas pour la rupture de la rupture de jour .
<div class="form-group mb-10"> <label class="formLabel">Description</label> <input type="text" (change)="makeDirty()" class="form-control bg-grey" [(ngModel)]='description' [ngModelOptions]="{standalone:true}"> </div> <div class="form-group mb-10"> <label class="formLabel">Period</label> <input type="text" (change)="makeDirty()" placeholder="select start date and end date" class="form-control bg-grey" #dp="bsDaterangepicker" bsDaterangepicker [(ngModel)]="bsRangeValue" [placement]="'top'" [outsideClick]="false" [bsConfig]="{ showWeekNumbers:false,containerClass: 'theme-dark-blue',rangeInputFormat: 'DD/MM/YYYY' }" formControlName="Period"> <span class="glyphicon glyphicon-calendar glyicon" (click)="dp.toggle()" [attr.aria-expanded]="dp.isOpen" value="Toggle" style="top:36px"></span> <div class="alert alert-danger" *ngIf="formGroup.get('Period').dirty && formGroup.get('Period').errors && formGroup.get('Period').errors.ageRange "> Date range selected is invalid </div> </div>
4 Réponses :
Utilisez https://valor-software.com/ngx- Bootstrap / # / DatePicker # Valeur-Change-Event P> (bsvaluechange) code> pour DatePicker. Voir Documents P>
Avant de faire des modifications, il appelle la méthode MakeDirty () sur la charge de la page
@ user9287106 Est-ce que makedirty () code> fonction est appelé lorsque vous cliquez sur le calendrier pour la première fois?
Non, à la page charge, il est appelé mais je le veux sur le changement
@ user9287106 peut essayer OnShown () Code> Fonction au lieu de
Modifier code> Fonction?
Si vous utilisez NGModel, vous pouvez utiliser (NGModelChange). P>
Oui, j'utilise Ngmodel, lorsque j'utilise NGModelChange, il appelle la méthode makeDirty () sur la charge avant de modifier les modifications.
Vous pouvez utiliser quelque chose comme ceci makedirty () {if (bsrangevalue) {console.log (appelé ');}}
Utiliser (entrée) au lieu de (changer). p>
J'ai essayé mais ne pas travailler à ne pas appeler la méthode même après le changement
Des erreurs sur la console de développeur? Je ne vois pas la balise de fermeture de votre élément d'entrée en haut morceau ci-dessus. Vous utilisez également NGModel et FormControlName ensemble?
Essayez Setter ES6 fort> La syntaxe SET lie une propriété d'objet à une fonction à appeler
quand il y a une tentative de définir cette propriété. P>
blockQquote> intermédiaire fonction de la fonction PLACE MakeDirty Méthode Il sera appelé chaque fois que la valeur d'entrée change p> composant.ts strong> p>
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
set myDateValue(value) {
this.makeDirty();
};
ngOnInit() {
// this.myDateValue = new Date();
}
onDateChange(newDate: Date) {
console.log(newDate);
}
makeDirty() {
console.log('Called');
}
}
S'il vous plaît aidez-moi je suis nouveau à angulaire.