Skip to content

vue
<fv-DropDown v-model="value" :options="options" placeholder="Select an option"></fv-DropDown>

  1. Set Disabled
vue
<fv-DropDown v-model="value" :options="options" placeholder="Select an option" disabled></fv-DropDown>
  1. DropDown without options
vue
<fv-DropDown placeholder="Select an option"></fv-DropDown>

vue
<fv-DropDown v-model="value" :options="options" placeholder="Select options" :multiple="true"></fv-DropDown>

  1. Custom List Item
vue
<fv-DropDown :options="options" placeholder="Select an option">
    <template v-slot:options="item">
        <p>{{item.index}}</p>
    </template>
</fv-DropDown>
  1. Custom Style
vue
<fv-DropDown :options="options" placeholder="Select options" :multiple="true" :borderWidth="1" borderRadius="5" inputBackground="rgba(0,204,153,0.9)" checkBoxBackground="rgba(0, 204, 153, 0.9)" inputForeground="whitesmoke" dropDownIcon="AddTo" dropDownIconForeground="whitesmoke" dropDownListForeground="rgba(0,204,153,1)" dropDownListBackground="rgba(239,239,239,0.6)"></fv-DropDown>
  1. Custom Drop Down Input
vue
<fv-DropDown :options="options" placeholder="Select options" :multiple="true">
    <template v-slot:input="x">
        <i class="ms-Icon ms-Icon--Dynamics365Logo left-icon"></i>
        <input class="input" :placeholder="x.placeholder" :value="x.value" style="padding-left: 36px; border: none;"/>
        <i class="ms-Icon ms-Icon--DelveAnalyticsLogo right-icon"></i>
    </template>
</fv-DropDown>
  1. Custom Drop Down Carrier
vue
<fv-DropDown :options="options" placeholder="Select options" :multiple="true">
    <template v-slot:drop-carrier="x">
        <fv-button :theme="x.theme" :isBoxShadow="true" style="width: 150px;">
            <p>DropDown</p>
            <i class="ms-Icon ms-Icon--ChevronDown" style="margin-left: 8px;"></i>
        </fv-button>
    </template>
</fv-DropDown>

vue
<fv-DropDown :options="options" placeholder="Select an option" :showError="true"></fv-DropDown>

  1. Single Selection
vue
<fv-DropDown :options="options" placeholder="Select an option" theme="dark"></fv-DropDown>
  1. Multiple Selections
vue
<fv-DropDown :options="options" placeholder="Select an option" theme="dark" :multiple="true"></fv-DropDown>

属性 ​


属性类型必填默认值说明
modelValuearray否[]Choosen Value
optionsarray否[]Dropdown options array
multipleboolean否falseIs enable multiple select
borderWidthnumber否1Dropdown border width
borderRadiusstring否'6'Dropdown border radius
placeholderstring否'Dropdown'Dropdown placeholder
maxHeightstring否''Dropdown list max height
checkBoxBackgroundstring否''CheckBox Background when Multiple
inputForegroundstring否''
inputBorderColorstring否''
inputHeightstring否''
inputFontSizestring否''
dropDownListForegroundstring否''
inputBackgroundstring否''
dropDownListBackgroundstring否''
dropDownIconstring否'ChevronDown'Icon with Fabric-Icon
dropDownIconForegroundstring否''
isBoxShadowboolean否false是否为输入框启用阴影样式
showErrorboolean否false
errorMessagestring否'This dropdown has an error'
disabledboolean否false
setFocusboolean否falseWhether Dropdown list show
themestring否'global'主题样式。支持 global、light、dark、system 和 custom。
langstring否"global"参见组件的 lang 选项。

事件 ​


事件名参数说明
changevalueDropdown choose item
visible-changevisibleDropdown list show or hidden

插槽 ​


  1. Input
  • placeholder: 当前选中内容
  • value: 当前Placeholder
javascript
<template v-slot:input="x">
    <i class="ms-Icon ms-Icon--Dynamics365Logo left-icon"></i>
    <input :placeholder="x.placeholder" :value="x.value" style="padding-left: 36px;"/>
    <i class="ms-Icon ms-Icon--DelveAnalyticsLogo right-icon"></i>
</template>
  1. Options
  • option: 当前项内容
  • index: 当前项索引
  • valueTrigger: 支持函数式驱动的值函数
javascript
<template v-slot:options="x">
    <p>{{ x.index }}</p>
</template>
  1. Option Content
  • option: 当前选项对象
  • index: 当前选项索引
  • valueTrigger: 用于解析函数式字段值的辅助方法
javascript
<template v-slot:option-content="x">
    <p>{{ x.valueTrigger(x.option.text) }}</p>
</template>
  1. Drop Carrier
  • value: 当前选中内容
  • placeholoder: 当前Placeholder
  • theme: 当前主题
javascript
<template v-slot:drop-carrier="x">
    <button>DropDown</button>
</template>

Data ​


  1. options
javascript
options = [{key: '', text: '', type: '', disabled: '', choosen: ''}]

//e.g.//

options: [
    { key: "fruitsHeader", text: "Fruits", type: "header" },
    { key: "apple", text: "Apple" },
    { key: "banana", text: "Banana" },
    { key: "orange", text: "Orange", disabled: true },
    { key: "grape", text: "Grape" },
    { key: "divider_1", text: "-", type: "divider" },
    { key: "vegetablesHeader", text: "Vegetables", type: "header" },
    { key: "broccoli", text: "Broccoli" },
    { key: "carrot", text: "Carrot" },
    { key: "lettuce", text: "Lettuce" }
]

特别地 0.1.62版本后支持采用函数式字段, 其中支持的字段包括text, disabled, type

MIT Licensed