Skip to content

Switch 开关

实现开关切换功能。支持显示文字和图标,可自定义颜色和样式,具有加载状态显示,以及可以与表单组件配合使用。使用场景主要包括:在表单、设置页面或需要用户进行二元选择的界面中,提供直观的开关操作选项。

支持平台

安卓iosweb微信小程序支付宝小程序QQ小程序
xxx

示例

html
<template>
	<t-page class="p.20" title='开关'>
		<t-card class="mb.30" title="Switch 开关"
			sub-title="实现开关切换功能。支持显示文字和图标,可自定义颜色和样式,具有加载状态显示,以及可以与表单组件配合使用。使用场景主要包括:在表单、设置页面或需要用户进行二元选择的界面中,提供直观的开关操作选项。"></t-card>
		<t-section class="tdr-tdb-mb.20" title='基础功能'></t-section>
		<t-row class="tdr-tdb-mb.30-p.40-ffww-fjcs">
			<t-switch v-model="switch1"></t-switch>
		</t-row>
		<t-section class="tdr-tdb-mb.20" title='loading'></t-section>
		<t-row class="tdr-tdb-mb.30-p.40-ffww">
			<t-switch v-model="switch1" :loading="loading" type="success"></t-switch>
			<t-row class='fc-w.100%-pt.30'>
				<t-button @click="onLoadingClick" type="p">{{loading?'关闭':'打开'}}loading</t-button>
			</t-row>
		</t-row>
		<t-section class="tdr-tdb-mb.20" title='显示文字(1内部显示,2外部显示,3中间按钮显示)'></t-section>
		<t-col class="tdr-tdb-mb.30-p.40-ffww">
			<t-switch class="mb.20" mode="1" v-model="switch2" type="p"></t-switch>
			<t-switch class="mb.20" mode="2" v-model="switch3" type="success" activeText="按年付费"
				inactiveText="按月付费"></t-switch>
			<t-switch class="mb.20" mode="3" v-model="switch4" type="success"></t-switch>
		</t-col>
		<t-section class="tdr-tdb-mb.20" title='状态图标'></t-section>
		<t-row class="tdr-tdb-mb.30-p.40-ffww">
			<t-switch v-model="switch5" type="p" activeIcon="volume-up" inactiveIcon="volume-off"></t-switch>
		</t-row>
		<t-section class="tdr-tdb-mb.20" title='禁用'></t-section>
		<t-row class="tdr-tdb-mb.30-p.40-ffww">
			<t-switch v-model="switch6" :disabled="true" type="success"></t-switch>
		</t-row>
		<t-section class="tdr-tdb-mb.20" title='自定义颜色覆盖主题'></t-section>
		<t-row class="tdr-tdb-mb.30-p.40-ffww">
			<t-switch v-model="switch7" activeColor="#dd5fdd" inactiveColor="#f56c6c" activeTextColor="#fff"
				inactiveTextColor="#fff" type="success"></t-switch>
		</t-row>
		<t-section class="tdr-tdb-mb.20" title='尺寸'></t-section>
		<t-row class="tdr-tdb-mb.30-p.60-ffww">
			<t-switch v-model="switch8" type="warning" class='ats.2' activeIcon="volume-up"
				inactiveIcon="volume-off"></t-switch>
		</t-row>
	</t-page>
</template>

<script>
	export default {
		data() {
			return {
				switch: true,
				switch1: true,
				switch2: true,
				switch3: true,
				switch4: true,
				switch5: true,
				switch6: true,
				switch7: true,
				switch8: true,
				loading: true,
			};
		},
		methods: {
			onLoadingClick() {
				this.loading = !this.loading
			}
		},
		onLoad() {

		}
	}
</script>

Props

名称描述类型默认值可选值
type组件类型,默认为 'p'String'p''p', 'v'
showText是否显示文字,默认为 trueBooleantruetrue, false
mode提示文字显示位置,默认为 '1'String'1''1', '2', '3'
modelValue绑定的模型值,默认为 falseBooleanfalsetrue, false
contentClass内容区域的额外类名,默认为 ''String''-
barClassBar区域的额外类名,默认为 ''String''-
activeColor打开时的背景色,默认为 ''String''-
inactiveColor关闭时的背景色,默认为 '#eaeaea'String'#eaeaea'-
activeText打开时的文字,默认为 '开'String'开'-
inactiveText关闭时的文字,默认为 '关'String'关'-
activeIcon打开时的Bar图标,默认为 ''String''-
inactiveIcon关闭时的Bar图标,默认为 ''String''-
activeTextColor打开时的文字颜色,默认为 ''String''-
inactiveTextColor关闭时的文字颜色,默认为 '#acacac'String'#acacac'-
loading是否处于加载中状态,默认为 falseBooleanfalsetrue, false

Events

事件名描述回调参数版本
update:modelValue模型值更新时触发(value: boolean)-
change开关状态改变时触发(value: boolean)-

Slots

名称描述
default开关内容区域