# radio

radio 代表选项卡组件,一般需要被 groupinput 管理,可设定能否取消选择和是否禁用。

# Attributes

属性 类型 默认值 是否必填 说明
tag String 'div' 组件最外层标签
dataKey String | Number - 表示组件的 key
canClose boolean false 是否可以切换选中、未选中状态
disabled boolean false 是否禁用

# Slot

# default

  • 说明:默认插槽,radio 的文字描述。

# input

  • radio 的实体,默认是原生的 <input type="radio">。
  • slotProps
属性 类型 说明
isOpen boolean 是否被选中
disabled boolean 是否禁用

# 示例

<template lang="html">
<div>
    <form-item class="form-group" :model="model" attr="sex">
        <template v-slot="p">
            <groupinput v-bind="p">
                <template v-slot:default="p">
                    <radio v-bind="p" :key="p.dataKey" :can-close="true">{{p.value}}</radio>
                </template>
            </groupinput>
        </template>
    </form-item>
    <button @click="submit" class="btn btn-primary">提交</button>
</div>
</template>

<script>
import * as Ledap from 'ledap';
const App = Ledap.App;

export default {
    data() {
        return {
            model: App.getModel()
        }
    },
    created: function() {
        // data 也可以是后端接口返回
        var data = {
            sex: {
                label: '性别',
                rules: [{
                    type: 'dict',
                    options: {
                        list: {
                            '1': '男',
                            '2': '女',
                        },
                        multiple: false,
                        excludes: [],
                        message: '性别不正确',
                        skipOnEmpty: 1
                    }
                }, {
                    type: 'required',
                    options: {
                        message: '请选择性别'
                    }
                }],
                'value': []
            }
        };
        this.model.load(data);
    },
    methods: {
        submit: function() {
            this.model.validate();
            if (this.model.hasErrors()) return;
            alert('提交的数据是:' + JSON.stringify(this.model));
        }
    }
}
</script>
Last Updated: 7/9/2020, 7:12:21 AM