<template>
<SkSwitch />
</template>
Prop | 类型 | 默认值 | 描述 |
---|
v-model | boolean | false | 设置开关的状态值 (双向绑定) |
<script setup lang="ts">
import { ref } from 'vue'
const state = ref(false)
</script>
<template>
<SkSwitch v-model="state" />
</template>
Prop | 类型 | 默认值 | 描述 |
---|
color | {Color} | brand | 设置开关的颜色主题 |
<script setup lang="ts">
import { ref } from 'vue'
const state = ref(true)
</script>
<template>
<div class="p-4 flex flex-col gap-3">
<SkSwitch v-model="state" color="brand">
品牌色开关
</SkSwitch>
<SkSwitch v-model="state" color="success">
成功色开关
</SkSwitch>
<SkSwitch v-model="state" color="warning">
警告色开关
</SkSwitch>
<SkSwitch v-model="state" color="danger">
危险色开关
</SkSwitch>
<SkSwitch v-model="state" color="neutral">
中性色开关
</SkSwitch>
</div>
</template>
Prop | 类型 | 默认值 | 描述 |
---|
size | {Size} | medium | 设置开关的尺寸大小 |
<script setup lang="ts">
import { ref } from 'vue'
const state = ref(true)
</script>
<template>
<div class="p-4 flex flex-col gap-3">
<SkSwitch v-model="state" size="small">
小尺寸开关
</SkSwitch>
<SkSwitch v-model="state" size="medium">
中等尺寸开关
</SkSwitch>
<SkSwitch v-model="state" size="large">
大尺寸开关
</SkSwitch>
</div>
</template>
Prop | 类型 | 默认值 | 描述 |
---|
readonly | boolean | false | 设置开关是否为只读状态 |
<script setup lang="ts">
import { ref } from 'vue'
const state = ref(true)
</script>
<template>
<SkSwitch v-model="state" readonly />
</template>
Prop | 类型 | 默认值 | 描述 |
---|
disabled | boolean | false | 设置开关是否为禁用状态 |
<script setup lang="ts">
import { ref } from 'vue'
const disabledOff = ref(false)
const disabledOn = ref(true)
</script>
<template>
<div class="p-4 flex flex-col gap-3">
<SkSwitch v-model="disabledOff" disabled>
禁用关闭状态
</SkSwitch>
<SkSwitch v-model="disabledOn" disabled>
禁用开启状态
</SkSwitch>
</div>
</template>
通过 thumbIcon
插槽可以自定义开关选中的图标
<script setup lang="ts">
import { ref } from 'vue'
const state = ref(false)
</script>
<template>
<SkSwitch v-model="state">
<template #thumbIcon="{ selected, clax }">
<SkIcon v-if="selected" name="i-lucide:wind" :clax="clax" />
</template>
</SkSwitch>
</template>
加载状态配合了
SkSpinner
减少使用成本,前往获取该组件更多信息
<script setup lang="ts">
import { ref } from 'vue'
const loadingSwitch = ref(true)
const loadingOnSwitch = ref(false)
</script>
<template>
<div class="p-4 flex flex-col gap-3">
<SkSwitch v-model="loadingSwitch" readonly>
<template #thumbIcon="{ selected }">
<SkSpinner v-if="selected" size="small" />
</template>
仅可见的加载状态
</SkSwitch>
<SkSwitch v-model="loadingOnSwitch">
<template #thumbIcon="{ selected }">
<SkSpinner v-if="selected" size="small" />
</template>
{{ loadingOnSwitch ? '加载中...' : '点击开始加载' }}
</SkSwitch>
</div>
</template>
事件名 | 参数 | 描述 |
---|
change | (value: boolean) | 当开关状态改变时触发 |
插槽名 | 属性 | 描述 |
---|
thumbIcon | { selected: boolean, clax: string } | 开关拇指图标 |
default | - | 开关标签内容 |
正在完善中,敬请期待!😊