refactor: 统一使用 Button 组件替换原有 button 元素

- 在 CopyButton、SwitchButtonGroup 和 TextInputArea 组件中,将原有的 button 元素替换为统一的 Button 组件,提升代码一致性和可维护性。
- 更新相关样式和属性以适应新组件,确保功能正常。
This commit is contained in:
雨霖铃
2026-06-19 10:08:27 +08:00
parent d401744739
commit 3ab7194501
3 changed files with 17 additions and 18 deletions
+6 -3
View File
@@ -3,6 +3,7 @@ import { X } from 'lucide-react';
import { cn } from '@/lib/utils';
import { toast } from 'sonner'; // 推荐使用 shadcn 的默认 Toast
import { CopyButton } from '@/components/CopyButton';
import { Button } from './ui/button';
export type ValidateRule = {
validator: (value: string) => boolean;
@@ -273,14 +274,16 @@ const TextInputArea = forwardRef<HTMLTextAreaElement, TextInputAreaProps>((props
<CopyButton text={value} tooltip={'复制内容'} size="sm" className="h-7 w-7 p-1" />
)}
{showClear && value && !disabled && !readOnly && (
<button
<Button
type="button"
onClick={handleClear}
aria-label={'清空'}
className="p-1 h-7 w-7 flex items-center justify-center rounded-md text-muted-foreground hover:text-destructive hover:bg-destructive/10 transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"
variant="ghost"
size="icon"
className="h-7 w-7 text-muted-foreground hover:text-destructive hover:bg-destructive/10"
>
<X className="h-4 w-4" />
</button>
</Button>
)}
</div>
</div>