Skip to content
12:13

TnCheckbox-复选框

复选框一般用于表示多个选项中的一个或多个状态。例如,一个任务清单的每一项都可以是未完成的,也可以是已完成的。

复选框也可用于状态的开关,这时它的含义就和单选框类似了,但是单选框不能取消这个选择。

组件位置

typescript
import TnCheckbox from '@tuniao/tnui-vue3-uniapp/components/checkbox/src/checkbox.vue'
import TnCheckboxGroup from '@tuniao/tnui-vue3-uniapp/components/checkbox/src/checkbox-group.vue'
import TnCheckbox from '@tuniao/tnui-vue3-uniapp/components/checkbox/src/checkbox.vue'
import TnCheckboxGroup from '@tuniao/tnui-vue3-uniapp/components/checkbox/src/checkbox-group.vue'
typescript
import TnCheckbox from '@/uni_modules/tuniaoui-vue3/components/checkbox/src/checkbox.vue'
import TnCheckboxGroup from '@/uni_modules/tuniaoui-vue3/components/checkbox/src/checkbox-group.vue'
import TnCheckbox from '@/uni_modules/tuniaoui-vue3/components/checkbox/src/checkbox.vue'
import TnCheckboxGroup from '@/uni_modules/tuniaoui-vue3/components/checkbox/src/checkbox-group.vue'

平台差异说明

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

基本使用

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

TnCheckbox使用

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

<template>
  <TnCheckbox v-model="agent">同意协议</TnCheckbox>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
const agent = ref(false)
</script>

<template>
  <TnCheckbox v-model="agent">同意协议</TnCheckbox>
</template>
vue
<script lang="ts" setup>
import { ref } from 'vue'
const agent = ref(false)
</script>

<template>
  <TnCheckbox v-model="agent" disabled>不同意</TnCheckbox>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
const agent = ref(false)
</script>

<template>
  <TnCheckbox v-model="agent" disabled>不同意</TnCheckbox>
</template>

TnCheckbox配合TnCheckboxGroup使用

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

<template>
  <TnCheckboxGroup v-model="selectValue">
    <TnCheckbox label="value1">value1</TnCheckbox>
    <TnCheckbox label="value2">value2</TnCheckbox>
  </TnCheckboxGroup>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
const selectValue = ref<string[]>(['value1'])
</script>

<template>
  <TnCheckboxGroup v-model="selectValue">
    <TnCheckbox label="value1">value1</TnCheckbox>
    <TnCheckbox label="value2">value2</TnCheckbox>
  </TnCheckboxGroup>
</template>
vue
<script lang="ts" setup>
import { ref } from 'vue'
const selectValue = ref<string[]>(['value1'])
</script>

<template>
  <TnCheckboxGroup v-model="selectValue" border>
    <TnCheckbox label="value1">value1</TnCheckbox>
    <TnCheckbox label="value2">value2</TnCheckbox>
  </TnCheckboxGroup>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
const selectValue = ref<string[]>(['value1'])
</script>

<template>
  <TnCheckboxGroup v-model="selectValue" border>
    <TnCheckbox label="value1">value1</TnCheckbox>
    <TnCheckbox label="value2">value2</TnCheckbox>
  </TnCheckboxGroup>
</template>

禁止点击标签进行选择

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

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

<template>
  <TnCheckboxGroup v-model="selectValue" label-disabled>
    <TnCheckbox label="value1">value1</TnCheckbox>
    <TnCheckbox label="value2">value2</TnCheckbox>
  </TnCheckboxGroup>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
const selectValue = ref<string[]>([])
</script>

<template>
  <TnCheckboxGroup v-model="selectValue" label-disabled>
    <TnCheckbox label="value1">value1</TnCheckbox>
    <TnCheckbox label="value2">value2</TnCheckbox>
  </TnCheckboxGroup>
</template>

修复单个复选框时选中和未选中的值

通过active-valueinactive-value设置选中和未选中的值

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

<template>
  <TnCheckbox v-model="agent" :active-value="1" :inactive-value="0"
    >同意协议</TnCheckbox
  >
</template>
<script lang="ts" setup>
import { ref } from 'vue'
const agent = ref<number>(0)
</script>

<template>
  <TnCheckbox v-model="agent" :active-value="1" :inactive-value="0"
    >同意协议</TnCheckbox
  >
</template>

修改复选框的选框形状

通过checked-shape参数修改选框的形状为正方形圆形,分别对应的参数是squarecircle

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

<template>
  <TnCheckbox v-model="agent" checked-shape="circle">同意协议</TnCheckbox>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
const agent = ref<boolean>(false)
</script>

<template>
  <TnCheckbox v-model="agent" checked-shape="circle">同意协议</TnCheckbox>
</template>

通过slot自定义内容

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

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

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

<template>
  <TnCheckboxGroup v-model="selectValue">
    <TnCheckbox label="value1">
      <template #left>value1</template>
    </TnCheckbox>
    <TnCheckbox label="value2">value2</TnCheckbox>
  </TnCheckboxGroup>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
const selectValue = ref<string[]>([])
</script>

<template>
  <TnCheckboxGroup v-model="selectValue">
    <TnCheckbox label="value1">
      <template #left>value1</template>
    </TnCheckbox>
    <TnCheckbox label="value2">value2</TnCheckbox>
  </TnCheckboxGroup>
</template>

API

Checkbox Props

属性名说明类型默认值可选值
model-value/v-model单个复选框绑定的值String | Number | Boolean--
label复选框的值,在使用复选组时,checkbox 的值就是 labelString |Number--
indeterminate用于标记当前复选框是否为不确定状态Booleanfalsetrue
active-value复选框选中时的值String | Number | Boolean-true
inactive-value复选框未选中时的值String | Number | Boolean-false
size复选框尺寸String-sm / lg
checked-shape复选框选框的形状Stringsquarecircle
disabled复选框是否禁用Booleanfalsetrue
label-disabledcheckbox 禁止点击标签进行选择Booleanfalsetrue
border是否显示边框Booleanfalsetrue
active-colorcheckbox 激活时的颜色,以 tn 开头则使用图鸟内置的颜色只支持普通颜色String-颜色
custom-style在外部自定义组件样式CSSProperties{}-
custom-class在外部作用于组件的类String--
validate-event值发生修改时是否触发表单验证Booleantruefalse

Checkbox Events

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

Checkbox Slots

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

CheckboxGroup Props

属性名说明类型默认值可选值
model-value/v-model复选框组绑定的值Array<String |Number>--
size单选框尺寸String-sm / lg
checked-shape复选框选框的形状Stringsquarecircle
disabled复选框是否禁用Booleanfalsetrue
label-disabledcheckbox 禁止点击标签进行选择Booleanfalsetrue
border是否显示边框Booleanfalsetrue
active-colorcheckbox 激活时的颜色,以 tn 开头则使用图鸟内置的颜色只支持普通颜色String-颜色
min可被勾选的复选框最小值Number--
max可被勾选的复选框最大值Number--
wrapcheckbox 内容是否独占一行Booleanfalsetrue
validate-event值发生修改时是否触发表单验证Booleantruefalse

CheckboxGroup Events

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

CheckboxGroup Slots

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

Tuniao UI