Je veux limiter le nombre maximum d'entrée.
data = [
{
qq:[30]
},
{
qq:[100]
}
<div *ngFor="let data of data">
max{{data.qq[0]}}
<input type="number" id="test" oninput="if(value > data.qq[0]) value = data.qq[0]">
</div>
Cela semble logique, mais j'ai une erreur "les données ne sont pas définies"
comment y remédier.
J'essaye ngModel mais l'effet n'est pas très bon. Après avoir dépassé la valeur maximale, l'utilisateur peut continuer à entrer.
https: // stackblitz .com / edit / angular-s5uwe6? file = src% 2Fapp% 2Fapp.component.ts
3 Réponses :
oninput en angulaire, utilisez ngModel oninput ne fonctionnera pas de toute façon
pourquoi n'y aurait-il pas un oninput en angular? C'est JS valide :)
J'essaye ngModel mais l'effet n'est pas très bon. Après avoir dépassé le nombre maximum, l'utilisateur peut continuer la saisie. stackblitz.com/edit/…
vous pouvez simplement utiliser l’attribut max
<input type="number" id="test" #v (change)="+v.value > data.qq[0]? v.value = data.qq[0]:0">
Une autre façon quelque chose comme ça
<input type="number" id="test" [max]="data.qq[0]">
(ngModelChange) = "+ v.value> data.qq [0]? v.value = data.qq [0]: 0" Cela fonctionne pour moi. Merci
Si quelqu'un est toujours intéressé, vous pouvez utiliser (input)
<input type="number" id="test" (input)="yourFunction()">