diff --git a/src/components/copy-button/index.tsx b/src/components/copy-button/index.tsx index 368f40d0..48bbd173 100644 --- a/src/components/copy-button/index.tsx +++ b/src/components/copy-button/index.tsx @@ -2,7 +2,7 @@ import { CheckCircleFilled, CopyOutlined } from '@ant-design/icons'; import { useIntl } from '@umijs/max'; import { Button, Tooltip, message } from 'antd'; import ClipboardJS from 'clipboard'; -import React, { useEffect, useRef, useState } from 'react'; +import React, { useEffect, useMemo, useRef, useState } from 'react'; type CopyButtonProps = { children?: React.ReactNode; @@ -63,6 +63,13 @@ const CopyButton: React.FC = ({ } }; + const tipTitle = useMemo(() => { + if (copied) { + return intl.formatMessage({ id: 'common.button.copied' }); + } + return tips ?? intl.formatMessage({ id: 'common.button.copy' }); + }, [copied, intl, tips]); + useEffect(() => { initClipboard(); return () => { @@ -71,10 +78,7 @@ const CopyButton: React.FC = ({ }, [buttonRef]); return ( - +