J'ai une page avec beaucoup d'entrées, et je veux faire 'readOnly
' Je trouve cette solution: Comment changer l'élément HTML en lecture seule et l'attribut requis dans Angular2 Typescript?
Mais je ne veux pas le faire pour chaque entrée séparément.
Comment puis-je ajouter la propriété readOnly
à toutes les entrées de certaines div.
Essayez ceci dans le champ de saisie:
[readonly]="true"
J'espère que ça va marcher.
Si vous souhaitez créer un groupe entier, et pas un seul champ à la fois, vous pouvez utiliser la balise HTML5 <fieldset>
.
<fieldset [disabled]="killfields ? 'disabled' : null">
<!-- fields go here -->
</fieldset>
Si vous utilisez des formulaires réactifs, vous pouvez également désactiver le formulaire entier ou tout sous-ensemble de contrôles d'un groupe de formulaires avec myFormGroup.disable()
.
Toutes les entrées doivent être remplacées par une directive personnalisée qui lit une seule variable globale pour basculer en lecture seule.
// template
<your-input [readonly]="!childmessage"></your-input>
// component value
childmessage = false;
Si vous vouliez désactiver toutes les entrées sous une forme angulaire à la fois:
1- Formes Réactives:
myFormGroup.disable() // where myFormGroup is a FormGroup
2- Formulaires basés sur des modèles (NgForm):
Vous devriez obtenir le NgForm dans une variable NgForm (nommée par exemple myNgForm) puis
myNgForm.form.disable() // where form here is an attribute of NgForm
// & of type FormGroup so it accepts the disable() function
En cas de NgForm, veillez à appeler la méthode disable au bon moment
Pour déterminer quand l'appeler, vous pouvez trouver plus de détails dans cette réponse Stackoverflow
Il suffit de définir la propriété css du conteneur div '' événements de pointeur 'comme étant nulle
Vous pouvez faire comme ceci . Ouvrez un fichier ts et créez une interface avec les entrées que vous voulez et dans la page que vous voulez montrer sous write class write
readonly yourinterface = yourinterface
readonly level: number[] = [];
et dans votre modèle, faites comme ceci * ngFor = "laissez votre type de votre interface"