J'ai actuellement une textarea
comme ceci:
<textarea matInput rows="5" cols="40" placeholder="text"></textarea>
Cependant, c'est toujours la même taille.
Une idée sur la façon de changer la taille de la variable textarea
?
Voici un exemple:
<mat-form-field>
<mat-label>Description</mat-label>
<textarea matInput formControlName="description" matTextareaAutosize matAutosizeMinRows=1 matAutosizeMaxRows=5></textarea>
</mat-form-field>
Actuellement, seule la variable rows
affecte la hauteur de matériau textarea
, cols
ne modifie pas sa largeur.
Par conséquent, pour augmenter la largeur, nous devons utiliser la propriété CSS width
sur un mat-form-field
contenant notre textarea
:
<mat-form-field style="width: 300px;">
<textarea matInput rows="5" cols="40" placeholder="text"></textarea>
</mat-form-field>
Matériaux angulaires 7.2:
https://material.angular.io/components/input/examples
<mat-form-field>
<mat-label>Autosize textarea</mat-label>
<textarea matInput cdkTextareaAutosize
cdkAutosizeMinRows="2"
cdkAutosizeMaxRows="5"></textarea>
</mat-form-field>
Faites attention à cdkTextareaAutosize
, cdkAutosizeMinRows
, cdkAutosizeMaxRows
Voir exemple . Il est important d’ajouter css au formulaire pour spécifier la largeur:
.example-form {
min-width: 150px;
max-width: 500px;
width: 100%;
}
et aussi css à la textarea:
.example-full-width {
width: 100%;
}
Si vous n’ajoutez pas le fichier CSS au formulaire, l’icône Développer s’affiche dans une position incorrecte.
Vous pouvez essayer d’ajuster la hauteur de votre texte en appliquant matTextareaAutosize
et en attribuant des valeurs aux propriétés matAutosizeMinRows
et matAutosizeMaxRows
.
Voir https://material.angular.io/components/input/api pour plus de détails.