ProComponents, templates & AI tooling
2.3k

TextArea 多行文本框更新

多行文本输入,带样式边框与背景,用于收集较长内容。

导入

import { TextArea } from 'heroui-native';

用法

基础用法

TextArea 可单独使用,也可放在 TextField 内。

import { TextArea } from 'heroui-native';

<TextArea placeholder="请输入留言" />

与 TextField 组合

TextField 搭配形成完整表单结构。

import { Description, Label, TextArea, TextField } from 'heroui-native';

<TextField>
  <Label>留言</Label>
  <TextArea placeholder="请在此输入留言…" />
  <Description>请尽量提供详细信息。</Description>
</TextField>

校验状态

非法时展示错误样式。

import { FieldError, Label, TextArea, TextField } from 'heroui-native';

<TextField isRequired isInvalid={true}>
  <Label>留言</Label>
  <TextArea placeholder="请输入留言" />
  <FieldError>请输入有效留言</FieldError>
</TextField>

禁用状态

禁用后不可编辑。

import { Label, TextArea, TextField } from 'heroui-native';

<TextField isDisabled>
  <Label>禁用字段</Label>
  <TextArea placeholder="不可编辑" value="只读内容" />
</TextField>

变体

按场景使用不同视觉变体。

import { Label, TextArea, TextField } from 'heroui-native';

<TextField>
  <Label>主要变体</Label>
  <TextArea placeholder="主要样式文本域" variant="primary" />
</TextField>

<TextField>
  <Label>次要变体</Label>
  <TextArea placeholder="次要样式文本域" variant="secondary" />
</TextField>

自定义样式

通过 className 自定义外观。

import { Label, TextArea, TextField } from 'heroui-native';

<TextField>
  <Label>自定义样式</Label>
  <TextArea
    placeholder="自定义颜色"
    className="bg-blue-50 border-blue-500 focus:border-blue-700"
  />
</TextField>

示例

import { Description, FieldError, Label, TextArea, TextField } from 'heroui-native';
import { View } from 'react-native';

export default function TextAreaExample() {
  return (
    <View className="gap-8">
      <TextField>
        <Label>主要变体</Label>
        <TextArea placeholder="主要样式文本域" variant="primary" />
        <Description>默认变体,主要样式</Description>
      </TextField>

      <TextField>
        <Label>次要变体</Label>
        <TextArea
          placeholder="次要样式文本域"
          variant="secondary"
        />
        <Description>用于表面上的次要变体</Description>
      </TextField>
    </View>
  );
}

更多示例见 GitHub 仓库

API 参考

TextArea 继承 Input 的全部属性。区别仅为默认值:multiline 默认为 truetextAlignVertical 默认为 'top'

本页目录