Skip to content
# t-radio-group

RadioGroup 单选框组

t-radio-group 组件介绍 ​

单选框组组件,支持布局方向(横向或纵向),不同的显示模式(radio、button、cell),丰富主题配置。

t-radio-group 平台兼容 ​

HarmonyH5AndroidiOS小程序UTS
✅✅✅✅✅✅

t-radio-group 基础用法 ​

vue
<template>
	<view class="p-15">
		<tui-theme-switch></tui-theme-switch>
		<t-card title="RadioGroup 多选框组"
				class="mb-15"
				sub-title="支持布局方向(横向或纵向)。不同的显示模式(radio、button、cell)丰富主题配置"></t-card>
		<t-card title="亮点"
				class="mb-15"
				type="error"
				sub-title="支持任意子组件参与布局,支持父组件统一设置子组件属性,让代码更简洁【父组件拥有子组件所有属性,子组件和父组件同时设置相同属性,子组件属性优先级高于父组件】"></t-card>
		<t-radio-group :class="`${radio_mode=='cell'?'fv':'fl'} r-10 fww p-10 mb-15 tvg`"
					   v-model="radio"
					   :size="radio_size"
					   :type="radio_type"
					   icon="radio-button-fill"
					   :mode="radio_mode"
					   @change="onchange"
					   child-class="mrb-15"
					   :transition="true">
			<t-radio value="1">苹果</t-radio>
			<t-radio value="2">香蕉</t-radio>
			<t-radio value="3">橙子</t-radio>
			<t-radio value="4">石榴</t-radio>
			<t-radio value="99"
					 :border="false">梨子</t-radio>
		</t-radio-group>
		<t-button class="mb-15"
				  @click="test">赋值{{radio_size}}</t-button>
		<t-group title="单选类型:"
				 class="mb-15">
			<t-radio-group class="f fl fww r-10"
						   v-model="radio_mode"
						   type="primary">
				<t-radio value="radio">radio</t-radio>
				<t-radio value="button">button</t-radio>
				<t-radio value="cell">cell</t-radio>
			</t-radio-group>
		</t-group>
		<view :class="[`fl faic p-10 mb-15 tvg trm`]">
			<t-text class="mr-5">主题:</t-text>
			<t-radio-group :class="[`f fl fww r-10`]"
						   v-model="radio_type"
						   type="primary">
				<t-radio value="">默认</t-radio>
				<t-radio value="primary">主要</t-radio>
				<t-radio value="success">成功</t-radio>
				<t-radio value="info">信息</t-radio>
				<t-radio value="warning">警告</t-radio>
				<t-radio value="error">危险</t-radio>
			</t-radio-group>
		</view>
		<view :class="[`fl faic p-10 mb-15 tvg trm`]">
			<t-text class="mr-5">尺寸:</t-text>
			<t-radio-group :class="[`f fl fww r-10`]"
						   v-model="radio_size"
						   type="primary">
				<t-radio value="large">large</t-radio>
				<t-radio value="medium">medium</t-radio>
				<t-radio value="small">small</t-radio>
				<t-radio value="mini">mini</t-radio>
			</t-radio-group>
		</view>
	</view>
</template>

<script setup>
	const radio = ref<string>('1')
	const radio_type = ref<string>('success')
	const radio_mode = ref<string>('radio')
	const radio_size = ref<string>('medium')

	const type = ref<string>('success')
	function test() {
		radio.value = "3"
	}
	function themeupdate(e : string) {
		type.value = e == '0' ? '' : e
	}
	function onchange(e : string) {
		console.log(e)
	}
</script>

t-radio-group Props ​

属性名类型默认值说明可选值
sizeString"medium"组件尺寸large, medium, small, mini
typeString""组件类型info, primary, error, warning, success
disabledBooleanfalse组件是否禁用true, false
hoverBooleanfalse是否有点击效果true, false
pathString""点击组件后跳转的页面路径-
effectString"normal"组件显示主题normal, dark, light, plain
childClassString""统一设置子元素样式-
transitionBooleanfalse是否支持动画true, false
durationNumber200动画时间-
labelClassString""显示文本样式-
iconString"check-fill"图标-
iconBoxClassString""图标容器样式-
activeClassString""选中时的组件的样式-
inactiveClassString""未选中时的组件的样式-
iconClassString""图标样式-
activeIconClassString""选中时图标的样式-
inactiveIconClassString""未选中时图标的样式-
activeLabelClassString""选中时文本的样式-
inactiveLabelClassString""未选中时文本的样式-
modeString"radio"显示模式button, radio, cell
borderBooleantrue是否显示边框true, false
modelValueString""双向绑定的值-

t-radio-group Events ​

事件名说明回调参数
change选中状态发生变化时触发当前选中的值
click点击时触发-
transitionend动画结束时触发-
initFinished组件初始化完成触发组件的节点信息
touchstart触摸开始时触发触摸事件对象
touchend触摸结束时触发触摸事件对象
touchmove触摸移动时触发触摸事件对象
touchcancel触摸取消时触发触摸事件对象

Mode 说明 ​

模式值说明显示效果
radio单选框模式显示圆形单选框
button按钮样式显示按钮样式
cell列表模式显示列表样式

t-radio-group Slots ​

插槽名说明
default内容插槽,用于放置t-radio子组件