Selector 选择框

通用参数

所有组件均支持class和style属性,class可以是vue变量也可以是字符串,style可以是字符串或者对象
注:如果是变量需要在class前面加冒号,例如 :class=”mv-button”

概述

Selector 输入框,目前不支持验证,可以自定义通用属性class和style,以及selected(selected选中的值,需要加sync),placeholder(placeholder),options(option的值),disabled(disabled是否可用),arrowIcon(选择箭头icon),iconStyle(icon样式)

如何使用

<template>
    <Selector :selected.sync="selected" :options="option"></Selector>
</template>
<script>
import { Selector } from 'mvui';
export default {
    components: {
        Selector,
    },
    data(){
        return {
            selected: "2",
            option: [
                {
                    label: '北京',
                    value: '1'
                },
                {
                    label: '南京',
                    value: '2',
                }
            ]
        }
    }
} 
</script>

API

Selector props

属性 说明 类型 默认值 可选值
class 选填,类名(可以设置icon) String - 任意
style 选填,内联样式,自由设置样式 [String,Object] - 任意
selected 必填,选中的值 String - 任意
placeholder 选填,placeholder String - 任意
options 必填,结构[{label:’’,value:’’}] Array - 任意
disabled 选填,是否失效 Boolean false true,false
arrow-icon 选填,图标class String mv-icon-arrow-bottom 任何icon类名
icon-style 选填,icon样式 [String, Object] - 任何icon样式

Selector Events

事件名 说明 返回值
on-change 属性发生变化时候触发 String(选中的值)

右侧示例代码

<template>
    <div class="body-wrapper">
        <Hometitle>Selector</Hometitle>
        <div class="wrapper-example">
            <div class="wrapper-area">
                <div class="wrapper-area-title">默认</div>
                <div class="wrapper-area-content">
                    <span>选择省</span>
                    <Selector :selected.sync="selected" :options="option"></Selector>
                </div>
                <div>{{ selected }}</div>
            </div>

            <div class="wrapper-area">
                <div class="wrapper-area-title">失效</div>
                <div class="wrapper-area-content">
                    <span>选择省</span>
                    <Selector :selected.sync="testSelected" :disabled="true" placeholder="选择省" :options="testOption"></Selector>
                </div>
            </div>

            <div class="wrapper-area">
                <div class="wrapper-area-title">更改Icon</div>
                <div class="wrapper-area-content">
                    <span>选择省</span>
                    <Selector :selected.sync="testSelected" placeholder="选择省" arrow-icon="mv-icon-caret-bottom" :options="testOption"></Selector>
                </div>
            </div>


            <div class="wrapper-area">
                <div class="wrapper-area-title">change事件</div>
                <div class="wrapper-area-content">
                    <span>选择省</span>
                    <Selector :selected.sync="changeSelect" @on-change="change" placeholder="选择省" arrow-icon="mv-icon-caret-bottom" :options="changeOption"></Selector>
                </div>
            </div>

        </div>
    </div>
</template>
<script>
import Hometitle from './common/hometitle.vue';
import {
    Selector,
    Button
} from 'mvui';
export default {
    components: {
        Hometitle,
        Selector,
        Button
    },
    data() {
        return {
            selected: "2",
            option: [
                {
                    label: '北京',
                    value: '1'
                },
                {
                    label: '南京',
                    value: '2',
                }
            ],
            testSelected: '',
            testOption: [
                {
                    label: '北京',
                    value: '1'
                },
                {
                    label: '南京',
                    value: '2',
                }
            ],
            changeSelect: '',
            changeOption: [
                {
                    label: '北京',
                    value: '1'
                },
                {
                    label: '南京',
                    value: '2',
                }
            ]

        }
    },
    methods: {
        change(val){
            console.dir(val);
            debugger;
        }
    }
}
</script>