ProComponents, templates & AI tooling
2.3k

Surface 表面更新

提供层级与背景样式的容器组件。

导入

import { Surface } from 'heroui-native';

结构

Surface 是提供层级与背景样式的容器,可包裹子内容,并通过变体与样式属性定制外观。

<Surface>...</Surface>
  • Surface:主容器,通过变体提供一致的内边距、背景与层级感。

用法

基础用法

Surface 用于创建具有一致内边距与样式的容器。

<Surface>...</Surface>

变体

通过不同层级控制视觉外观。

<Surface variant="default">
  ...
</Surface>

<Surface variant="secondary">
  ...
</Surface>

<Surface variant="tertiary">
  ...
</Surface>

嵌套 Surface

使用不同变体嵌套,形成视觉层级。

<Surface variant="default">
  ...
  <Surface variant="secondary">
    ...
    <Surface variant="tertiary">...</Surface>
  </Surface>
</Surface>

自定义样式

通过 classNamestyle 传入自定义样式。

<Surface className="bg-accent-soft">
  ...
</Surface>

<Surface variant="tertiary" className="p-0">
  ...
</Surface>

禁用全部动画

animation 设为 "disable-all" 可禁用自身及子级的全部动画。

{
  /* 禁用自身及子级的全部动画 */
}
<Surface animation="disable-all">无动画</Surface>;

示例

import { Surface } from 'heroui-native';
import { Text, View } from 'react-native';

export default function SurfaceExample() {
  return (
    <View className="gap-4">
      <Surface variant="default" className="gap-2">
        <AppText className="text-foreground">表面内容</AppText>
        <AppText className="text-muted">
          默认表面变体,使用 bg-surface 样式。
        </AppText>
      </Surface>

      <Surface variant="secondary" className="gap-2">
        <AppText className="text-foreground">表面内容</AppText>
        <AppText className="text-muted">
          次要表面变体,使用 bg-surface-secondary 样式。
        </AppText>
      </Surface>

      <Surface variant="tertiary" className="gap-2">
        <AppText className="text-foreground">表面内容</AppText>
        <AppText className="text-muted">
          第三级表面变体,使用 bg-surface-tertiary 样式。
        </AppText>
      </Surface>
    </View>
  );
}

更多示例见 GitHub 仓库

API 参考

Surface

proptypedefaultdescription
variant'default' | 'secondary' | 'tertiary' | 'transparent''default'视觉变体,控制背景色与边框
childrenReact.ReactNode-渲染在表面内的内容
classNamestring-额外的 class
animation"disable-all" | undefinedundefined动画配置;"disable-all" 可禁用自身及子级的全部动画
asChildbooleanfalse是否以子元素方式渲染
...ViewPropsViewProps-支持 React Native View 的全部属性

本页目录