Toggle 开关按钮

可切换按下/弹起状态的按钮

Toggle 是一种可切换按下/弹起状态的按钮,常用于工具栏中的加粗、斜体等开关式操作。

何时使用

  • 需要切换某个布尔状态(如文本加粗、斜体)时。
  • v-model:pressed 绑定,管理按下状态。

代码演示

基础用法

<script setup lang="ts">
import { ref } from "vue";
import { Toggle } from "@reglow/reui";
import { Bold } from "lucide-vue-next";

const pressed = ref(false);
</script>

<template>
  <Toggle v-model:pressed="pressed" aria-label="Toggle bold">
    <Bold class="size-4" />
  </Toggle>
</template>

变体

通过 variant 控制样式:default(实心)或 outline(描边)。

<template>
  <Toggle variant="default">默认</Toggle>
  <Toggle variant="outline">描边</Toggle>
</template>

尺寸

通过 size 控制大小:smdefaultlg

<template>
  <Toggle size="sm"></Toggle>
  <Toggle size="default">默认</Toggle>
  <Toggle size="lg"></Toggle>
</template>

禁用

<template>
  <Toggle disabled>禁用</Toggle>
</template>

导入

import { Toggle } from "@reglow/reui";

API

Props

属性类型默认值说明
pressedbooleanfalse按下状态(v-model:pressed)
variant"default" | "outline""default"变体
size"default" | "sm" | "lg""default"尺寸
disabledbooleanfalse禁用
classstring-附加类名