web-dev-qa-db-fra.com

Ajustez le nombre de lignes à Form :: Textarea Laravel 5

Comment puis-je contrôler le nombre de lignes ajoutées à une zone de texte à l'aide de Illuminate\Html\FormFacade classe?

J'ai ajouté le champ dans mon modèle.

<div class="form-group">
  {!! Form::label('placeOfDeath','Place of Death') !!}
  {!! Form::textarea('placeOfDeath',null,['class'=>'form-control']) !!}
</div>

Lorsqu'il est rendu, la zone de texte a cols="50" et rows="10"

<textarea class="form-control" name="placeOfDeath" cols="50" rows="10" id="placeOfDeath"></textarea>

Je veux un moyen de contrôler ces chiffres, j'ai vérifié la documentation mais je n'ai rien trouvé?

17
Jonny C

Le tableau d'options (troisième paramètre) est en fait le tableau d'attributs de cet élément, vous pouvez donc simplement passer n'importe quel 'key' => 'value' et l'élément en aura comme attributs, par exemple:

{!! Form::textarea('placeOfDeath',null,['class'=>'form-control', 'rows' => 2, 'cols' => 40]) !!}
26
Pawel Bieszczad

J'ai accepté l'autre réponse car elle fonctionne parfaitement.

J'ai également constaté que la classe vérifie réellement un attribut size

protected function setQuickTextAreaSize($options)
{
    $segments = explode('x', $options['size']);

    return array_merge($options, array('cols' => $segments[0], 'rows' => $segments[1]));
}

C'est un gain de place mineur, je ne suis pas sûr qu'il rend le code plus lisible, mais c'est une alternative pour couper quelques caractères

['size' => '30x5']
2
Jonny C

Essayez également ceci:

{!! Form::textarea('placeOfDeath',null, array('class'=>'form-control', 
                    'rows' => 10, 'cols' => 50)) !!}
1
Rajan Gupta