React 组件
UGLink 链接
用于页面导航、资源跳转与下载,保留原生链接语义,并统一下划线、语义色、尺寸、外链安全和禁用行为。
导入方式
按需从包入口导入组件,并在应用入口引入一次样式文件。
tsx
import { UGLink } from '@ug666/ui-react'基础用法
链接必须指向真实目标;当前页面可通过 aria-current 标记。
语义色
颜色只表达语义,不改变链接的导航行为。
下划线
正文中的链接优先保留下划线;导航密集区可按场景调整。
尺寸
字号可显式设置,也可统一继承 UGConfigProvider。
外链与下载
外链自动补充安全属性;download 等原生属性直接透传。
禁用状态
禁用链接不会跳转、不会响应点击,也不会进入 Tab 顺序。
图标内容
图标属于链接内容;纯图标链接仍需提供 aria-label。
属性
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| href | string | — | 目标地址,行为与原生 a 元素一致;使用方应校验不可信 URL。 |
| tone | LinkTone | 'primary' | 链接的语义色:neutral、primary、success、warning、danger、info 或 inherit。 |
| underline | LinkUnderline | 'hover' | 控制下划线始终显示、悬停显示或从不显示。 |
| size | 'sm' | 'default' | 'lg' | ConfigProvider | 链接字号;未显式设置时继承全局尺寸。 |
| disabled | boolean | ConfigProvider / false | 移除跳转能力和 Tab 焦点,并设置 aria-disabled。 |
| external | boolean | false | 按外链处理;默认在新标签页打开并补充安全 rel。 |
| showExternalIcon | boolean | false | 外链时在文本末尾显示外链标识。 |
| startIcon / endIcon | ReactNode | — | 在链接文本前后放置装饰图标。 |
| target | HTMLAttributeAnchorTarget | — | 原生 target;设为 _blank 时自动补充安全 rel。 |
| rel | string | — | 原生 rel;新标签页打开时会与 noopener、noreferrer 合并。 |
| download | boolean | string | — | 透传原生下载属性。 |
| children | ReactNode | — | 链接内容,可组合文本与图标。 |
| onClick | MouseEventHandler | — | 原生点击事件;禁用时不会触发。 |
| className | string | — | 追加样式类,用于业务侧局部覆盖。 |