交互
Dual State Toggle
双状态切换按钮:基于 shadcn/ui Button,内置点击缩放 + 图标切换动画(opacity + blur),支持 5 种过渡效果预设与自定义过渡配置。
togglebuttoniconanimationswitchdual-statemotionshadcn
快速预览
查看 Dual State Toggle 组件的基本效果
基本用法
使用 Dual State Toggle 组件的基础示例
导入组件
1import { DualStateToggle } from "@/components/qiuye-ui/dual-state-toggle";2import { useState } from "react";3import { Menu, X } from "lucide-react";使用组件
1const [isOpen, setIsOpen] = useState(false);2
3return (4 <DualStateToggle5 active={isOpen}6 onToggle={setIsOpen}7 activeIcon={<X />}8 inactiveIcon={<Menu />}9 activeLabel="关闭"10 inactiveLabel="打开"11 effect="rotate"12 />13);组件演示
查看组件的各种使用方式和效果
基础用法
默认 fade 效果,点击在两种状态间切换
当前状态:未激活
过渡效果预设
5 种内置过渡效果:fade、rotate、slide-up、slide-down、scale
faderotateslide-upslide-downscale
fade
rotate
slide-up
slide-down
scale
按钮变体
支持 shadcn/ui Button 的所有 variant
defaultsecondaryoutlineghost
default
secondary
outline
ghost
按钮形状
方形(square)与圆形(circle)两种形状
square
circle
自定义过渡效果
传入自定义 initial / animate / exit 对象,与基础 opacity + blur 合并
rotate(-180°→0°→180°) + scale(0.6→1→0.6) + blur(4px)
常见场景
播放/暂停、显示/隐藏、通知开关等典型图标切换场景
播放
可见
通知开