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
multiplebooleanfalseIs enable multiple select
borderWidthnumber1Dropdown 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''
revealBorderColor[string(color)]NoN/A
revealBackgroundColor[string(color)]NoN/A
showErrorbooleanfalse
errorMessagestring'This dropdown has an error'
disabledbooleanfalse
setFocusbooleanfalseWhether Dropdown list show
themestring'global'主题样式。支持 globallightdarksystemcustom
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.item.index}}</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