• Radio 单选框
    • 概述
    • 代码示例
    • API
      • Radio props
      • Radio events
      • RadioGroup props
      • RadioGroup events

    Radio 单选框

    概述

    基本组件-单选框。主要用于一组可选项单项选择,或者单独用于切换到选中状态。

    代码示例

    Radio 单选框 - 图1

    单独使用

    使用 v-model 可以双向绑定数据。

    1. <template>
    2. <Radio v-model="single">Radio</Radio>
    3. </template>
    4. <script>
    5. export default {
    6. data () {
    7. return {
    8. single: false
    9. }
    10. }
    11. }
    12. </script>

    Radio 单选框 - 图2

    组合使用

    使用RadioGroup实现一组互斥的选项组。在组合使用时,Radio 使用 label 来自动判断。每个 Radio 的内容可以自定义,如不填写则默认使用 label 的值。

    1. <template>
    2. <RadioGroup v-model="phone">
    3. <Radio label="apple">
    4. <Icon type="logo-apple"></Icon>
    5. <span>Apple</span>
    6. </Radio>
    7. <Radio label="android">
    8. <Icon type="logo-android"></Icon>
    9. <span>Android</span>
    10. </Radio>
    11. <Radio label="windows">
    12. <Icon type="logo-windows"></Icon>
    13. <span>Windows</span>
    14. </Radio>
    15. </RadioGroup>
    16. <RadioGroup v-model="animal">
    17. <Radio label="金斑蝶"></Radio>
    18. <Radio label="爪哇犀牛"></Radio>
    19. <Radio label="印度黑羚"></Radio>
    20. </RadioGroup>
    21. </template>
    22. <script>
    23. export default {
    24. data () {
    25. return {
    26. phone: 'apple',
    27. animal: '爪哇犀牛'
    28. }
    29. }
    30. }
    31. </script>

    Radio 单选框 - 图3

    不可用

    通过设置disabled属性来禁用单选框。

    <template>
        <Radio v-model="disabledSingle" disabled>Radio</Radio>
        <RadioGroup v-model="disabledGroup">
            <Radio label="金斑蝶" disabled></Radio>
            <Radio label="爪哇犀牛"></Radio>
            <Radio label="印度黑羚"></Radio>
        </RadioGroup>
    </template>
    <script>
        export default {
            data () {
                return {
                    disabledSingle: true,
                    disabledGroup: '爪哇犀牛'
                }
            }
        }
    </script>
    

    Radio 单选框 - 图4

    垂直

    设置属性 vertical 可以垂直显示,按钮样式下无效。

    <template>
        <RadioGroup v-model="vertical" vertical>
            <Radio label="apple">
                <Icon type="social-apple"></Icon>
                <span>Apple</span>
            </Radio>
            <Radio label="android">
                <Icon type="social-android"></Icon>
                <span>Android</span>
            </Radio>
            <Radio label="windows">
                <Icon type="social-windows"></Icon>
                <span>Windows</span>
            </Radio>
        </RadioGroup>
    </template>
    <script>
        export default {
            data () {
                return {
                    vertical: 'apple'
                }
            }
        }
    </script>
    

    Radio 单选框 - 图5

    按钮样式

    组合使用时可以设置属性type为 button 来应用按钮的样式。

    <template>
        <RadioGroup v-model="button1" type="button">
            <Radio label="北京"></Radio>
            <Radio label="上海"></Radio>
            <Radio label="深圳"></Radio>
            <Radio label="杭州"></Radio>
        </RadioGroup>
        <RadioGroup v-model="button2" type="button">
            <Radio label="北京"></Radio>
            <Radio label="上海" disabled></Radio>
            <Radio label="深圳"></Radio>
            <Radio label="杭州"></Radio>
        </RadioGroup>
        <RadioGroup v-model="button3" type="button">
            <Radio label="北京" disabled></Radio>
            <Radio label="上海" disabled></Radio>
            <Radio label="深圳" disabled></Radio>
            <Radio label="杭州" disabled></Radio>
        </RadioGroup>
    </template>
    <script>
        export default {
            data () {
                return {
                    button1: '北京',
                    button2: '北京',
                    button3: '北京'
                }
            }
        }
    </script>
    

    Radio 单选框 - 图6

    显示边框

    4.0.0 设置属性 border 可以显示边框。

    <template>
        <RadioGroup v-model="border">
            <Radio label="金斑蝶" border></Radio>
            <Radio label="爪哇犀牛" border></Radio>
            <Radio label="印度黑羚" border></Radio>
        </RadioGroup>
    </template>
    <script>
        export default {
            data () {
                return {
                    border: '金斑蝶'
                }
            }
        }
    </script>
    

    Radio 单选框 - 图7

    尺寸

    通过设置属性sizelargesmall将按钮样式设置为大和小尺寸,不设置为默认(中)尺寸。

    <template>
        <RadioGroup v-model="button4" type="button" size="large">
            <Radio label="北京"></Radio>
            <Radio label="上海"></Radio>
            <Radio label="深圳"></Radio>
            <Radio label="杭州"></Radio>
        </RadioGroup>
        <RadioGroup v-model="button5" type="button">
            <Radio label="北京"></Radio>
            <Radio label="上海"></Radio>
            <Radio label="深圳"></Radio>
            <Radio label="杭州"></Radio>
        </RadioGroup>
        <RadioGroup v-model="button6" type="button" size="small">
            <Radio label="北京"></Radio>
            <Radio label="上海"></Radio>
            <Radio label="深圳"></Radio>
            <Radio label="杭州"></Radio>
        </RadioGroup>
    </template>
    <script>
        export default {
            data () {
                return {
                    button4: '北京',
                    button5: '北京',
                    button6: '北京'
                }
            }
        }
    </script>
    

    API

    Radio props

    属性说明类型默认值
    value只在单独使用时有效。可以使用 v-model 双向绑定数据Booleanfalse
    label 只在组合使用时有效。指定当前选项的 value 值,组合会自动判断当前选择的项目String | Number-
    disabled是否禁用当前项Booleanfalse
    size单选框的尺寸,可选值为 largesmalldefault 或者不设置String-
    border 4.0.0是否显示边框Booleanfalse
    true-value选中时的值,当使用类似 1 和 0 来判断是否选中时会很有用String, Number, Booleantrue
    false-value没有选中时的值,当使用类似 1 和 0 来判断是否选中时会很有用String, Number, Booleanfalse

    Radio events

    事件名说明返回值
    on-change在选项状态发生改变时触发,返回当前状态。通过修改外部的数据改变时不会触发

    RadioGroup props

    属性说明类型默认值
    value指定当前选中的项目数据。可以使用 v-model 双向绑定数据String | Number-
    type可选值为 button 或不填,为 button 时使用按钮样式String-
    size尺寸,可选值为largesmalldefault或者不设置String-
    vertical是否垂直排列,按钮样式下无效Booleanfalse

    RadioGroup events

    事件名说明返回值
    on-change在选项状态发生改变时触发,返回当前选中的项。通过修改外部的数据改变时不会触发