apps/docs/content/docs/cn/native/components/(buttons)/link-button.mdx
<NativeVideoPlayerView target="auto" srcLight="https://heroui-assets.nyc3.cdn.digitaloceanspaces.com/docs/native/components/videos/link-button-docs-light.mp4" srcDark="https://heroui-assets.nyc3.cdn.digitaloceanspaces.com/docs/native/components/videos/link-button-docs-dark.mp4" />
import { LinkButton } from 'heroui-native';
<LinkButton>
<LinkButton.Label>...</LinkButton.Label>
</LinkButton>
variant="ghost" 的 Button,并强制关闭高亮反馈;使用者无法覆盖上述行为。行内链接风格文字,响应按压。
<LinkButton onPress={handlePress}>了解更多</LinkButton>
使用 size 控制文字尺寸。
<LinkButton size="sm">
小
</LinkButton>
<LinkButton size="md">
中
</LinkButton>
<LinkButton size="lg">
大
</LinkButton>
禁用后不可交互。
<LinkButton isDisabled>已禁用的链接</LinkButton>
在根与 Label 上使用 className。
<LinkButton className="px-2">
<LinkButton.Label className="text-accent underline">
样式化链接
</LinkButton.Label>
</LinkButton>
与普通文字混排,用于条款、政策或上下文导航。
<View className="flex-row flex-wrap">
<Text className="text-sm text-muted">我同意 </Text>
<LinkButton size="sm" onPress={handleTermsPress}>
<LinkButton.Label className="text-accent">
服务条款
</LinkButton.Label>
</LinkButton>
<Text className="text-sm text-muted"> 与 </Text>
<LinkButton size="sm" onPress={handlePrivacyPress}>
<LinkButton.Label className="text-accent">隐私政策</LinkButton.Label>
</LinkButton>
</View>
import { Button, Checkbox, ControlField, LinkButton } from 'heroui-native';
import React from 'react';
import { Alert, View, Text } from 'react-native';
export default function LinkButtonExample() {
const [isAgreed, setIsAgreed] = React.useState(false);
const handleTermsPress = () => Alert.alert('条款', '跳转至服务条款');
const handlePrivacyPress = () =>
Alert.alert('隐私', '跳转至隐私政策');
return (
<View className="flex-1 px-5 items-center justify-center">
<View className="w-full max-w-xs gap-6">
<ControlField
isSelected={isAgreed}
onSelectedChange={setIsAgreed}
className="items-start"
>
<ControlField.Indicator>
<Checkbox className="mt-0.5" />
</ControlField.Indicator>
<View className="flex-row flex-wrap flex-1">
<Text className="text-sm text-muted">我同意 </Text>
<LinkButton size="sm" onPress={handleTermsPress}>
<LinkButton.Label className="text-accent">
服务条款
</LinkButton.Label>
</LinkButton>
<Text className="text-sm text-muted"> 与 </Text>
<LinkButton size="sm" onPress={handlePrivacyPress}>
<LinkButton.Label className="text-accent">
隐私政策
</LinkButton.Label>
</LinkButton>
</View>
</ControlField>
<Button isDisabled={!isAgreed}>注册</Button>
</View>
</View>
);
}
更多示例见 GitHub 仓库。
继承 Button 的全部属性,除 variant 外(内部固定为 ghost)。
内部强制行为:
| override | value | description |
|---|---|---|
variant | ghost | 始终为 ghost,不可修改 |
highlight | false | 高亮反馈关闭,不可修改 |
className | h-auto p-0 | 移除默认按钮高度与内边距 |
与 Button.Label 等价,属性相同。