<style> @component-namespace demo { @b radio { .zan-radios { padding: 0 20px; .zan-radio { margin: 10px 0; } } } } </style> <script> export default { data() { return { radio1: '1', radio2: '2', radio3: '1', radio4: '1' }; } }; </script> ## Radio 单选框 ### 使用指南 如果你已经按照[快速上手](/vue/component/quickstart)中引入了整个`ZanUI`,以下**组件注册**就可以忽略了,因为你已经全局注册了`ZanUI`中的全部组件。 #### 全局注册 你可以在全局注册`Radio`组件,比如页面的主文件(`index.js`,`main.js`),这样页面任何地方都可以直接使用`Radio`组件了: ```js import Vue from 'vue'; import { Radio, RadioGroup } from '@youzan/zanui-vue'; import '@youzan/zanui-vue/lib/zanui-css/radio.css'; Vue.component(Radio.name, Radio); Vue.component(RadioGroup.name, RadioGroup); ``` #### 局部注册 如果你只是想在某个组件中使用,你可以在对应组件中注册`Radio`组件,这样只能在你注册的组件中使用`Radio`: ```js import { Radio, RadioGroup } from '@youzan/zanui-vue'; export default { components: { 'zan-radio': Radio, 'zan-radio-group': RadioGroup } }; ``` ### 基础用法 通过`v-model`绑定值即可。当`Radio`选中时,绑定的值即为`Radio`中`name`属性设置的值。 :::demo 基础用法 ```html <div class="zan-radios"> <zan-radio name="1" v-model="radio1">单选框1</zan-radio> <zan-radio name="2" v-model="radio1">单选框2</zan-radio> </div> <script> export default { data() { return { radio1: '1' } } }; </script> ``` ::: ### 禁用状态 设置`disabled`属性即可,此时`Radio`不能点击。 :::demo 禁用状态 ```html <div class="zan-radios"> <zan-radio name="1" v-model="radio2" disabled>未选中禁用</zan-radio> <zan-radio name="2" v-model="radio2" disabled>选中且禁用</zan-radio> </div> <script> export default { data() { return { radio2: '2' } } }; </script> ``` ::: ### radio组 需要与`zan-radio-group`一起使用,在`zan-radio-group`通过`v-model`来绑定当前选中的值。例如下面的`radio3`: :::demo radio组 ```html <div class="zan-radios"> <zan-radio-group v-model="radio3"> <zan-radio name="1">单选框1</zan-radio> <zan-radio name="2">单选框2</zan-radio> </zan-radio-group> </div> <script> export default { data() { return { radio3: '1' } } }; </script> ``` ::: ### 与Cell组件一起使用 此时你需要再引入`Cell`和`CellGroup`组件。 :::demo 与Cell组件一起使用 ```html <zan-radio-group v-model="radio4"> <zan-cell-group> <zan-cell><zan-radio name="1">单选框1</zan-radio></zan-cell> <zan-cell><zan-radio name="2">单选框2</zan-radio></zan-cell> </zan-cell-group> </zan-radio-group> <script> export default { data() { return { radio4: '1' } } }; </script> ``` ::: ### Radio API | 参数 | 说明 | 类型 | 默认值 | 可选值 | |-----------|-----------|-----------|-------------|-------------| | disabled | 是否禁用单选框 | `boolean` | `false` | | | name | 根据这个来判断radio是否选中 | `boolean` | `false` | | ### RadioGroup API | 参数 | 说明 | 类型 | 默认值 | 可选值 | |-----------|-----------|-----------|-------------|-------------| | disabled | 是否禁用单选框 | `boolean` | `false` | | ### RadioGroup Event | 事件名称 | 说明 | 回调参数 | |-----------|-----------|-----------| | change | 当绑定值变化时触发的事件 | 当前组件的值 |