Textarea
Com rótulo
Aparece no corpo da nota.
import { Textarea } from '@rivocode/ui'Quando usar
Campo de várias linhas. Passa pelo Field.Control da Base UI como o Input,
então rótulo, ajuda e erro se ligam sozinhos dentro de um Field.
Não tem variante de tamanho: altura aqui e número de linhas, e misturar isso com
a escala de controle criaria um lg que não quer dizer nada.
No React Native
Traduz: rows é a altura inicial e o campo cresce com o conteúdo, como no web, que também não tem variante de tamanho.
onChangeText, e não onValueChange, e isso é o par e não o desvio. No catálogo nativo onValueChange é de quem é dono do valor: Select, Combobox, Slider, Calendar, MaskedInput, SearchInput, InputGroup, todas leem o texto cru e entregam outra coisa. Input e Textarea não entregam outra coisa: são o TextInput da plataforma com a borda da casa, e o TextInput chama onChangeText com a string.
A regra é essa, e vale para as duas: campo cru fala onChangeText; peça que transforma o valor fala onValueChange. Dar onValueChange só ao Textarea quebraria o par com o Input, que é o que o Field alterna sem a tela mudar de contrato, e deixaria o forText (o quarto adaptador do @rivocode/ui-native/form, que existe exatamente para esses dois) certo para um e errado para o outro.
API
| Prop | Tipo |
|---|---|
defaultValue0.4.0 | stringnumberreadonly string[] |
onValueChange0.4.0Callback fired when the `value` changes. | ((value: string, eventDetails: { reason: "none"; event: Event; cancel: () => void; allowPropagation: () => void; isCanceled: boolean; isPropagationAllowed: boolean; trigger: Element | undefined; }) => void) |
render0.4.0Allows you to replace the component's HTML element with a different tag, or compose it with another component. | ComponentRenderFn<HTMLProps, FieldControlState>ReactElement<unknown, stringJSXElementConstructor<any>> |
rows0.4.0Quantas linhas o campo mostra antes de rolar. | number |
Além destas, a peça aceita className, style, id e children, repassados ao elemento de baixo.