---
name: "checkbox"
mode: "component"
versionRequirements:
  - { name: "Base Library", version: "2.10.0" }
title: "checkbox - Multi-select item"
---

## checkbox

> [VERSION] Base Library >= 2.10.0

### Description

Multiple-choice item used with checkbox-group.

### Props

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `checked` | `boolean` | No | `false` | Whether selected |
| `disabled` | `boolean` | No | `false` | Whether disabled |
| `color` | `string` | No | `""` | Color when selected, same as CSS color |
| `value` | `string` | No | - | This item’s value in the form |

### Examples

#### Basic usage

*index.tyml*

```xml
<checkbox-group bind:change="onChange">
  <label ty:for="{{items}}" ty:key="{{item.value}}">
    <checkbox value="{{item.value}}" />
    <text>{{item.name}}</text>
  </label>
</checkbox-group>
```

*index.tyss*

```css
label {
  display: flex;
  align-items: center;
  margin-bottom: 10rpx;
}
```

*index.js*

```javascript
Page({
  data: {
    items: [
      { value: 'a', name: 'A' },
      { value: 'b', name: 'B' },
    ],
  },
  onChange(e) {
    console.log('Selected:', e.detail.value);
  },
});
```

#### Different states

*index.tyml*

```xml
// index.tyml
<view class="list">
  <view class="item">
    <text>Default:</text>
    <checkbox value="default" />
  </view>
  <view class="item">
    <text>Checked:</text>
    <checkbox value="checked" checked="{{true}}" />
  </view>
  <view class="item">
    <text>Disabled:</text>
    <checkbox value="disabled" disabled="{{true}}" />
  </view>
  <view class="item">
    <text>Custom color:</text>
    <checkbox value="red" color="#ff0000" checked="{{true}}" />
  </view>
</view>
```

*index.tyss*

```css
.list {
  padding: 20rpx;
}
.item {
  display: flex;
  align-items: center;
  margin-bottom: 20rpx;
}
```

*index.js*

```javascript
Page({});
```


### FAQ

#### How can I change the checked state of a checkbox using JavaScript?

You can directly control the checked state of `checkbox` by using `setData` to set the `checked` property of the `checkbox`.
