Skip to content
12:13

TnRadio-单选框

单选框一般用于在多个备选项中进行单选,如性别选择等。

单选框TnRadio一般配合TnRadioGroup使用,TnRadioGroup设置的参数会传递给TnRadio

组件位置

typescript
import TnRadio from '@tuniao/tnui-vue3-uniapp/components/radio/src/radio.vue'
import TnRadioGroup from '@tuniao/tnui-vue3-uniapp/components/radio/src/radio-group.vue'
import TnRadio from '@tuniao/tnui-vue3-uniapp/components/radio/src/radio.vue'
import TnRadioGroup from '@tuniao/tnui-vue3-uniapp/components/radio/src/radio-group.vue'
typescript
import TnRadio from '@/uni_modules/tuniaoui-vue3/components/radio/src/radio.vue'
import TnRadioGroup from '@/uni_modules/tuniaoui-vue3/components/radio/src/radio-group.vue'
import TnRadio from '@/uni_modules/tuniaoui-vue3/components/radio/src/radio.vue'
import TnRadioGroup from '@/uni_modules/tuniaoui-vue3/components/radio/src/radio-group.vue'

平台差异说明

App(vue)H5微信小程序支付宝小程序...
适配中

基本使用

  • 通过v-model设置选中的值
  • 通过label设置选项(选中)的值,在配合TnRadioGroup时,会通过传递给TnRadioGroupv-model进行比较,相同则选中
  • 通过disabled设置是否禁用
  • 通过size设置单选框的尺寸,可选值为smlg
  • 通过active-color设置选中时的颜色
  • 通过border设置是否显示边框
  • 通过disabled设置单选框禁止选择,如果设置了TnRadioGroupdisabled,则会覆盖TnRadiodisabled

TnRadio使用

vue
<script lang="ts" setup>
import { ref } from 'vue'
const selectValue = ref('')
</script>

<template>
  <TnRadio v-model="selectValue" label="男">男</TnRadio>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
const selectValue = ref('')
</script>

<template>
  <TnRadio v-model="selectValue" label="男">男</TnRadio>
</template>
vue
<script lang="ts" setup>
import { ref } from 'vue'
const selectValue = ref('')
</script>

<template>
  <TnRadio v-model="selectValue" label="未知" disabled>未知</TnRadio>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
const selectValue = ref('')
</script>

<template>
  <TnRadio v-model="selectValue" label="未知" disabled>未知</TnRadio>
</template>

TnRadio配合TnRadioGroup使用

vue
<script lang="ts" setup>
import { ref } from 'vue'
const selectValue = ref('')
</script>

<template>
  <TnRadioGroup v-model="selectValue">
    <TnRadio label="男">男</TnRadio>
    <TnRadio label="女">女</TnRadio>
  </TnRadioGroup>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
const selectValue = ref('')
</script>

<template>
  <TnRadioGroup v-model="selectValue">
    <TnRadio label="男">男</TnRadio>
    <TnRadio label="女">女</TnRadio>
  </TnRadioGroup>
</template>
vue
<script lang="ts" setup>
import { ref } from 'vue'
const selectValue = ref('')
</script>

<template>
  <TnRadioGroup v-model="selectValue" border>
    <TnRadio label="男">男</TnRadio>
    <TnRadio label="女">女</TnRadio>
  </TnRadioGroup>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
const selectValue = ref('')
</script>

<template>
  <TnRadioGroup v-model="selectValue" border>
    <TnRadio label="男">男</TnRadio>
    <TnRadio label="女">女</TnRadio>
  </TnRadioGroup>
</template>

禁止点击标签进行选择

设置label-disabledtrue,则点击标签不会触发选中

vue
<script lang="ts" setup>
import { ref } from 'vue'
const selectValue = ref('')
</script>

<template>
  <TnRadioGroup v-model="selectValue" label-disabled>
    <TnRadio label="男">男</TnRadio>
    <TnRadio label="女">女</TnRadio>
  </TnRadioGroup>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
const selectValue = ref('')
</script>

<template>
  <TnRadioGroup v-model="selectValue" label-disabled>
    <TnRadio label="男">男</TnRadio>
    <TnRadio label="女">女</TnRadio>
  </TnRadioGroup>
</template>

通过slot自定义内容

设置slot名为left的插槽可以将单选框放置在内容的右侧

默认的slot是将内容放在单选框的左侧

vue
<script lang="ts" setup>
import { ref } from 'vue'
const selectValue = ref('')
</script>

<template>
  <TnRadioGroup v-model="selectValue">
    <TnRadio label="男">
      <template #left>男</template>
    </TnRadio>
    <TnRadio label="女">女</TnRadio>
  </TnRadioGroup>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
const selectValue = ref('')
</script>

<template>
  <TnRadioGroup v-model="selectValue">
    <TnRadio label="男">
      <template #left>男</template>
    </TnRadio>
    <TnRadio label="女">女</TnRadio>
  </TnRadioGroup>
</template>

API

Radio Props

属性名说明类型默认值可选值
model-value/v-modelradio 单选框绑定的值String | Number | Boolean--
labelradio 单选框的值,在使用单选组时,radio 的值就是 labelString |Number | Boolean--
size单选框尺寸String-sm / lg
disabledradio 单选框是否禁用Booleanfalsetrue
label-disabledradio 禁止点击标签进行选择Booleanfalsetrue
border是否显示边框Booleanfalsetrue
active-colorradio 激活时的颜色,以 tn 开头则使用图鸟内置的颜色只支持普通颜色String-颜色
custom-style在外部自定义组件样式CSSProperties{}-
custom-class在外部作用于组件的类String--

Radio Events

| 事件名 | 说明 | 类型 | | ------ | ---------------- | --------------- | ------ | ----------------- | | change | 选中的值发生改变 | (value: string | number | boolean) => void |

Radio Slots

插槽名说明
default单选默认显示的内容
left单选左边显示的内容,这时单选按钮会在右边

RadioGroup Props

属性名说明类型默认值可选值
model-value/v-modelradio 单选框组绑定的值String | Number | Boolean--
size单选框尺寸String-sm / lg
disabledradio 单选框是否禁用Booleanfalsetrue
label-disabledradio 禁止点击标签进行选择Booleanfalsetrue
border是否显示边框Booleanfalsetrue
active-colorradio 激活时的颜色,以 tn 开头则使用图鸟内置的颜色只支持普通颜色String-颜色
wrapradio 内容是否独占一行Booleanfalsetrue
validate-event值发生修改时是否触发表单验证Booleantruefalse

RadioGroup Events

事件名说明类型
change选中的值发生改变(value: string | number | boolean) => void

RadioGroup Slots

插槽名说明子标签
default自定义默认内容TnRadio

Tuniao UI