2019-02-19 11:42:05 +08:00
|
|
|
|
---
|
|
|
|
|
category: Components
|
2022-11-09 12:28:04 +08:00
|
|
|
|
group: 通用
|
2019-02-19 11:42:05 +08:00
|
|
|
|
title: Typography
|
2024-03-22 14:22:42 +08:00
|
|
|
|
subtitle: 排版
|
|
|
|
|
description: 文本的基本格式。
|
2022-11-30 20:14:41 +08:00
|
|
|
|
cover: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*MLt3R6m9huoAAAAAAAAAAAAADrJ8AQ/original
|
2023-02-09 22:17:31 +08:00
|
|
|
|
coverDark: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*LT2jR41Uj2EAAAAAAAAAAAAADrJ8AQ/original
|
2019-02-19 11:42:05 +08:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 何时使用
|
|
|
|
|
|
2019-03-19 11:40:36 +08:00
|
|
|
|
- 当需要展示标题、段落、列表内容时使用,如文章/博客/日志的文本样式。
|
|
|
|
|
- 当需要一列基于文本的基础操作时,如拷贝/省略/可编辑。
|
2019-02-19 11:42:05 +08:00
|
|
|
|
|
2022-11-09 12:28:04 +08:00
|
|
|
|
## 代码演示
|
|
|
|
|
|
2022-11-17 17:31:26 +08:00
|
|
|
|
<!-- prettier-ignore -->
|
2022-11-09 12:28:04 +08:00
|
|
|
|
<code src="./demo/basic.tsx">基本</code>
|
|
|
|
|
<code src="./demo/title.tsx">标题组件</code>
|
|
|
|
|
<code src="./demo/paragraph-debug.tsx" debug>标题与段落</code>
|
|
|
|
|
<code src="./demo/text.tsx">文本与超链接组件</code>
|
2024-01-02 21:36:10 +08:00
|
|
|
|
<code src="./demo/editable.tsx">可编辑</code>
|
|
|
|
|
<code src="./demo/copyable.tsx">可复制</code>
|
2022-11-09 12:28:04 +08:00
|
|
|
|
<code src="./demo/ellipsis.tsx">省略号</code>
|
2024-03-20 11:39:03 +08:00
|
|
|
|
<code src="./demo/ellipsis-controlled.tsx" version="5.16.0">受控省略展开/收起</code>
|
2022-11-09 12:28:04 +08:00
|
|
|
|
<code src="./demo/ellipsis-middle.tsx">省略中间</code>
|
|
|
|
|
<code src="./demo/ellipsis-debug.tsx" debug>省略号 Debug</code>
|
|
|
|
|
<code src="./demo/suffix.tsx">后缀</code>
|
2023-05-19 09:46:15 +08:00
|
|
|
|
<code src="./demo/componentToken-debug.tsx" debug>组件 Token</code>
|
2022-11-09 12:28:04 +08:00
|
|
|
|
|
2019-02-19 11:42:05 +08:00
|
|
|
|
## API
|
|
|
|
|
|
2023-08-08 18:27:48 +08:00
|
|
|
|
通用属性参考:[通用属性](/docs/react/common-props)
|
|
|
|
|
|
2019-02-19 11:42:05 +08:00
|
|
|
|
### Typography.Text
|
|
|
|
|
|
2022-11-17 17:31:26 +08:00
|
|
|
|
| 参数 | 说明 | 类型 | 默认值 | 版本 |
|
|
|
|
|
| --- | --- | --- | --- | --- |
|
|
|
|
|
| code | 添加代码样式 | boolean | false | |
|
|
|
|
|
| copyable | 是否可拷贝,为对象时可进行各种自定义 | boolean \| [copyable](#copyable) | false | [copyable](#copyable) |
|
|
|
|
|
| delete | 添加删除线样式 | boolean | false | |
|
|
|
|
|
| disabled | 禁用文本 | boolean | false | |
|
|
|
|
|
| editable | 是否可编辑,为对象时可对编辑进行控制 | boolean \| [editable](#editable) | false | [editable](#editable) |
|
|
|
|
|
| ellipsis | 自动溢出省略,为对象时不能设置省略行数、是否可展开、onExpand 展开事件。不同于 Typography.Paragraph,Text 组件自身不带 100% 宽度样式,因而默认情况下初次缩略后宽度便不再变化。如果需要自适应宽度,请手工配置宽度样式 | boolean \| [Omit<ellipsis, 'expandable' \| 'rows' \| 'onExpand'>](#ellipsis) | false | [ellipsis](#ellipsis) |
|
|
|
|
|
| keyboard | 添加键盘样式 | boolean | false | 4.3.0 |
|
|
|
|
|
| mark | 添加标记样式 | boolean | false | |
|
|
|
|
|
| onClick | 点击 Text 时的回调 | (event) => void | - | |
|
|
|
|
|
| strong | 是否加粗 | boolean | false | |
|
|
|
|
|
| italic | 是否斜体 | boolean | false | 4.16.0 |
|
|
|
|
|
| type | 文本类型 | `secondary` \| `success` \| `warning` \| `danger` | - | success: 4.6.0 |
|
|
|
|
|
| underline | 添加下划线样式 | boolean | false | |
|
2019-02-19 11:42:05 +08:00
|
|
|
|
|
|
|
|
|
### Typography.Title
|
|
|
|
|
|
2022-11-17 17:31:26 +08:00
|
|
|
|
| 参数 | 说明 | 类型 | 默认值 | 版本 |
|
|
|
|
|
| --- | --- | --- | --- | --- |
|
|
|
|
|
| code | 添加代码样式 | boolean | false | |
|
|
|
|
|
| copyable | 是否可拷贝,为对象时可进行各种自定义 | boolean \| [copyable](#copyable) | false | [copyable](#copyable) |
|
|
|
|
|
| delete | 添加删除线样式 | boolean | false | |
|
|
|
|
|
| disabled | 禁用文本 | boolean | false | |
|
|
|
|
|
| editable | 是否可编辑,为对象时可对编辑进行控制 | boolean \| [editable](#editable) | false | [editable](#editable) |
|
|
|
|
|
| ellipsis | 自动溢出省略,为对象时可设置省略行数、是否可展开、添加后缀等 | boolean \| [ellipsis](#ellipsis) | false | [ellipsis](#ellipsis) |
|
|
|
|
|
| level | 重要程度,相当于 `h1`、`h2`、`h3`、`h4`、`h5` | number: 1, 2, 3, 4, 5 | 1 | 5: 4.6.0 |
|
|
|
|
|
| mark | 添加标记样式 | boolean | false | |
|
|
|
|
|
| onClick | 点击 Title 时的回调 | (event) => void | - | |
|
|
|
|
|
| italic | 是否斜体 | boolean | false | 4.16.0 |
|
|
|
|
|
| type | 文本类型 | `secondary` \| `success` \| `warning` \| `danger` | - | success: 4.6.0 |
|
|
|
|
|
| underline | 添加下划线样式 | boolean | false | |
|
2019-02-19 11:42:05 +08:00
|
|
|
|
|
|
|
|
|
### Typography.Paragraph
|
|
|
|
|
|
2022-11-17 17:31:26 +08:00
|
|
|
|
| 参数 | 说明 | 类型 | 默认值 | 版本 |
|
|
|
|
|
| --- | --- | --- | --- | --- |
|
|
|
|
|
| code | 添加代码样式 | boolean | false | |
|
|
|
|
|
| copyable | 是否可拷贝,为对象时可进行各种自定义 | boolean \| [copyable](#copyable) | false | [copyable](#copyable) |
|
|
|
|
|
| delete | 添加删除线样式 | boolean | false | |
|
|
|
|
|
| disabled | 禁用文本 | boolean | false | |
|
|
|
|
|
| editable | 是否可编辑,为对象时可对编辑进行控制 | boolean \| [editable](#editable) | false | [editable](#editable) |
|
|
|
|
|
| ellipsis | 自动溢出省略,为对象时可设置省略行数、是否可展开、添加后缀等 | boolean \| [ellipsis](#ellipsis) | false | [ellipsis](#ellipsis) |
|
|
|
|
|
| mark | 添加标记样式 | boolean | false | |
|
|
|
|
|
| onClick | 点击 Paragraph 时的回调 | (event) => void | - | |
|
|
|
|
|
| strong | 是否加粗 | boolean | false | |
|
|
|
|
|
| italic | 是否斜体 | boolean | false | 4.16.0 |
|
|
|
|
|
| type | 文本类型 | `secondary` \| `success` \| `warning` \| `danger` | - | success: 4.6.0 |
|
|
|
|
|
| underline | 添加下划线样式 | boolean | false | |
|
2020-05-11 14:28:57 +08:00
|
|
|
|
|
2020-08-09 12:56:35 +08:00
|
|
|
|
### copyable
|
|
|
|
|
|
2020-10-21 10:33:43 +08:00
|
|
|
|
{
|
2024-03-29 13:20:02 +08:00
|
|
|
|
text: string | (() => string | Promise<string>),
|
2022-03-22 16:52:44 +08:00
|
|
|
|
onCopy: function(event),
|
2020-10-21 10:33:43 +08:00
|
|
|
|
icon: ReactNode,
|
|
|
|
|
tooltips: false | [ReactNode, ReactNode],
|
2022-04-25 09:49:48 +08:00
|
|
|
|
format: 'text/plain' | 'text/html',
|
2020-10-21 10:33:43 +08:00
|
|
|
|
}
|
2020-08-09 12:56:35 +08:00
|
|
|
|
|
2022-11-17 17:31:26 +08:00
|
|
|
|
| 参数 | 说明 | 类型 | 默认值 | 版本 |
|
|
|
|
|
| --- | --- | --- | --- | --- |
|
|
|
|
|
| format | 剪切板数据的 Mime Type | 'text/plain' \| 'text/html' | - | 4.21.0 |
|
|
|
|
|
| icon | 自定义拷贝图标:\[默认图标, 拷贝后的图标] | \[ReactNode, ReactNode] | - | 4.6.0 |
|
|
|
|
|
| text | 拷贝到剪切板里的文本 | string | - | |
|
|
|
|
|
| tooltips | 自定义提示文案,为 false 时隐藏文案 | \[ReactNode, ReactNode] | \[`复制`, `复制成功`] | 4.4.0 |
|
|
|
|
|
| onCopy | 拷贝成功的回调函数 | function | - | |
|
2020-08-09 12:56:35 +08:00
|
|
|
|
|
|
|
|
|
### editable
|
|
|
|
|
|
2020-10-21 10:33:43 +08:00
|
|
|
|
{
|
|
|
|
|
icon: ReactNode,
|
|
|
|
|
tooltip: boolean | ReactNode,
|
|
|
|
|
editing: boolean,
|
|
|
|
|
maxLength: number,
|
|
|
|
|
autoSize: boolean | { minRows: number, maxRows: number },
|
2022-10-17 17:00:33 +08:00
|
|
|
|
text: string,
|
2020-10-21 10:33:43 +08:00
|
|
|
|
onChange: function(string),
|
2021-03-13 23:46:32 +08:00
|
|
|
|
onCancel: function,
|
2022-10-17 17:00:33 +08:00
|
|
|
|
onStart: function,
|
2021-03-13 23:46:32 +08:00
|
|
|
|
onEnd: function,
|
2021-09-23 22:14:43 +08:00
|
|
|
|
triggerType: ('icon' | 'text')[],
|
2021-09-22 21:54:27 +08:00
|
|
|
|
enterIcon: ReactNode,
|
2020-10-21 10:33:43 +08:00
|
|
|
|
}
|
2020-08-10 10:44:16 +08:00
|
|
|
|
|
2022-11-17 17:31:26 +08:00
|
|
|
|
| 参数 | 说明 | 类型 | 默认值 | 版本 |
|
|
|
|
|
| --- | --- | --- | --- | --- |
|
|
|
|
|
| autoSize | 自动 resize 文本域 | boolean \| { minRows: number, maxRows: number } | - | 4.4.0 |
|
|
|
|
|
| editing | 控制是否是编辑中状态 | boolean | false | |
|
|
|
|
|
| icon | 自定义编辑图标 | ReactNode | <EditOutlined /> | 4.6.0 |
|
|
|
|
|
| maxLength | 编辑中文本域最大长度 | number | - | 4.4.0 |
|
2024-02-01 10:36:21 +08:00
|
|
|
|
| tooltip | 自定义提示文本,为 false 时关闭 | ReactNode | `编辑` | 4.6.0 |
|
2022-11-17 17:31:26 +08:00
|
|
|
|
| text | 显式地指定编辑文案,为空时将隐式地使用 children | string | - | 4.24.0 |
|
|
|
|
|
| onChange | 文本域编辑时触发 | function(value: string) | - | |
|
|
|
|
|
| onCancel | 按 ESC 退出编辑状态时触发 | function | - | |
|
|
|
|
|
| onStart | 进入编辑中状态时触发 | function | - | |
|
|
|
|
|
| onEnd | 按 ENTER 结束编辑状态时触发 | function | - | 4.14.0 |
|
|
|
|
|
| triggerType | 编辑模式触发器类型,图标、文本或者两者都设置(不设置图标作为触发器时它会隐藏) | Array<`icon`\|`text`> | \[`icon`] | |
|
|
|
|
|
| enterIcon | 在编辑段中自定义“enter”图标(传递“null”将删除图标) | ReactNode | `<EnterOutlined />` | 4.17.0 |
|
2020-08-09 12:56:35 +08:00
|
|
|
|
|
2020-08-10 10:44:16 +08:00
|
|
|
|
### ellipsis
|
2020-08-09 12:56:35 +08:00
|
|
|
|
|
2024-03-20 11:39:03 +08:00
|
|
|
|
```tsx
|
|
|
|
|
interface EllipsisConfig {
|
|
|
|
|
rows: number;
|
|
|
|
|
/** `5.16.0` 新增 `collapsible` */
|
|
|
|
|
expandable: boolean | 'collapsible';
|
|
|
|
|
suffix: string;
|
|
|
|
|
/** `5.16.0` 新增渲染函数 */
|
|
|
|
|
symbol: ReactNode | ((expanded: boolean) => ReactNode);
|
|
|
|
|
tooltip: boolean | ReactNode | TooltipProps;
|
|
|
|
|
/** `5.16.0` 新增 */
|
|
|
|
|
defaultExpanded: boolean;
|
|
|
|
|
/** `5.16.0` 新增 */
|
|
|
|
|
expanded: boolean;
|
|
|
|
|
/** `5.16.0` 新增 `info` */
|
|
|
|
|
onExpand: (event: MouseEvent, info: { expanded: boolean }) => void;
|
|
|
|
|
onEllipsis: (ellipsis: boolean) => void;
|
|
|
|
|
}
|
|
|
|
|
```
|
2020-08-09 12:56:35 +08:00
|
|
|
|
|
2022-11-17 17:31:26 +08:00
|
|
|
|
| 参数 | 说明 | 类型 | 默认值 | 版本 |
|
|
|
|
|
| --- | --- | --- | --- | --- |
|
2024-03-20 11:39:03 +08:00
|
|
|
|
| expandable | 是否可展开 | boolean \| 'collapsible' | - | `collapsible`: 5.16.0 |
|
2022-11-17 17:31:26 +08:00
|
|
|
|
| rows | 最多显示的行数 | number | - | |
|
|
|
|
|
| suffix | 自定义省略内容后缀 | string | - | |
|
2024-03-20 11:39:03 +08:00
|
|
|
|
| symbol | 自定义展开描述文案 | ReactNode \| ((expanded: boolean) => ReactNode) | `展开` `收起` | |
|
2024-02-01 10:36:21 +08:00
|
|
|
|
| tooltip | 省略时,展示提示信息 | ReactNode \| [TooltipProps](/components/tooltip-cn/#api) | - | 4.11.0 |
|
2024-03-20 11:39:03 +08:00
|
|
|
|
| defaultExpanded | 默认展开或收起 | boolean | | 5.16.0 |
|
|
|
|
|
| expanded | 展开或收起 | boolean | | 5.16.0 |
|
2022-11-17 17:31:26 +08:00
|
|
|
|
| onEllipsis | 触发省略时的回调 | function(ellipsis) | - | 4.2.0 |
|
2024-03-20 11:39:03 +08:00
|
|
|
|
| onExpand | 点击展开或收起时的回调 | function(event, { expanded: boolean }) | - | `info`: 5.16.0 |
|
2020-08-09 12:56:35 +08:00
|
|
|
|
|
2023-08-30 23:02:35 +08:00
|
|
|
|
## 主题变量(Design Token)
|
2023-03-27 15:33:22 +08:00
|
|
|
|
|
|
|
|
|
<ComponentTokenTable component="Typography"></ComponentTokenTable>
|
|
|
|
|
|
2020-05-11 14:28:57 +08:00
|
|
|
|
## FAQ
|
|
|
|
|
|
|
|
|
|
### Typography.Link 如何与 react-router 库集成?
|
|
|
|
|
|
|
|
|
|
`react-router` 支持[自定义](https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/docs/api/Link.md#component-reactcomponent)渲染组件:
|
|
|
|
|
|
|
|
|
|
```tsx
|
|
|
|
|
<Link to="/" component={Typography.Link} />
|
|
|
|
|
```
|
2022-01-19 19:05:25 +08:00
|
|
|
|
|
|
|
|
|
**注意:** 这并不是和 react-router 的 Link 的执行逻辑等价 [参考](https://github.com/ant-design/ant-design/pull/26737/files#r488769888)
|