表单组件
单选框 TmRadio
可单单独使用,也可多选组合使用
🌶️ 示例
查看模拟效果+
示例模板
vue
<template>
<view>
<tm-sheet>
<tm-text font-size="32" class=" text-weight-b mb-16 d-block">多选框组</tm-text>
<tm-text color="#999999">
可单单独使用,也可多选组合使用
</tm-text>
</tm-sheet>
<tm-sheet :margin="['24']">
<tm-text font-size="32" class=" text-weight-b d-block mb-24">单独使用</tm-text>
<view class="flex flex-row flex-row-center-start gap-10">
<tm-radio label="苹果"></tm-radio>
<tm-radio color="success" label="梨子"></tm-radio>
<tm-radio color="error" label="香蕉"></tm-radio>
<tm-radio color="warn" label="地瓜"></tm-radio>
</view>
</tm-sheet>
<tm-sheet :margin="['24']">
<tm-text font-size="32" class=" text-weight-b d-block mb-24">联合Group使用</tm-text>
<tm-radio-group @change="onchange" v-model="radioValue">
<tm-radio v-for="(item, index) in ['苹果', '梨子', '香蕉', '地瓜', '花生']" :key="index" :value="item"
:label="item"></tm-radio>
</tm-radio-group>
<tm-sheet color="info" padding="24" :margin="[0, 24, 0, 0]"><tm-text>{{ radioValue || "未选择" }}</tm-text>
</tm-sheet>
</tm-sheet>
<tm-sheet :margin="['24']">
<tm-text font-size="32" class=" text-weight-b d-block">竖向排列(并自定义样式)</tm-text>
</tm-sheet>
<tm-radio-group v-model="radioValue2" direction="column">
<tm-sheet :color="radioValue2 === item.id ? 'primary' : 'white'" v-for="(item, index) in listview"
:key="index" :margin="[24, 0]" padding="0" class="flex-1">
<tm-radio class="pa-20" :color="radioValue2 === item.id ? 'warn' : 'primary'" :value="item.id">
<template v-slot:label="{checked}">
<tm-text :color="radioValue2 === item.id ? '#fff' : '#333'">{{ item.text }}</tm-text>
</template>
</tm-radio>
</tm-sheet>
</tm-radio-group>
<view class="py-20"></view>
</view>
</template>
<script lang="ts" setup>
import { ref } from "vue"
const radioValue = ref("")
const radioValue2 = ref("")
const listview = ref<Array<Record<string, any>>>([
{ text: "科技创新引领制造业高质量发展", id: 1 },
{ text: "明确提出“建立保持制造业合理比重投入机制”。这些都为以科技创新引领制造业高质量发展指明了道路和方向。", id: 2 },
{ text: "改造提升传统产业,培育壮大新兴产业,布局建设未来产业,完善现代化产业体系", id: 3 },
])
const onchange = (val: any) => {
// console.log(val,'**')
}
</script>
<style></style>
🌶️ 兼容性
平台兼容
H5 | uniAPP | 小程序 | version |
---|---|---|---|
☑️ | ☑️ | ☑️ | ☑️ |
🌱 参数
参数名 | 类型 | 默认值 | 描述 |
---|---|---|---|
color | string | "" | 当前主题色,空值时取全局 |
unCheckColor | string | "" | 当前未选中时主题色,空值时取全局 |
darkUnCheckColor | string | "" | 当前未选中时的暗黑主题色 |
modelValue | string|number|boolean | '' | 双向绑定值 |
value | string|number|boolean | true | 选中的值, |
unCheckValue | string|number|boolean | '' | 未选中的值 |
disabled | boolean|string | false | 是否禁用 |
icon | string | "check-line" | 选中的图标名称。 |
label | string | "" | 右侧文字。 |
hiddenCheckbox | boolean | false | 是否隐藏选中框。然后利用默认插槽自定义选中所有样式和状态。 |
size | string|number | "42" | 尺寸 |
iconSize | string|number | "40" | 中间小图标大小 |
labelFontSize | string|number | "30" | 文字大小 |
labelDirection | string | "left" | 选中的框在文本左边还是在右边 |
showLabel | boolean | true | 如果不要显示label时设置为false可以隐藏label并把label间隙删除, |
🌹 事件
事件名 | 参数 | 返回数据 | 描述 |
---|---|---|---|
change | 名称:check,当前是否选中,名称:value,当前选中的值, | - | 用户交互切换,选中变换时触发。 |
click | - | - | 点击事件 |
update:modelValue | - | - | - |
🌽 slot插槽
插槽名 | 数据 | 描述 |
---|---|---|
label | 名称:binding,checked 类型:- | |
- |
🥗 ref方法
方法名 | 参数 | 返回值 | 描述 |
---|