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 :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" style="z-index: 12;">
    <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>

Propoties


属性(attr)类型(type)必填(required)默认值(default)说明(statement)
valueArrayNoN/AChoosen Value
optionsArrayNoN/ADropdown options array
multipleBooleanNoN/AIs enable multiple select
borderWidthNumberNo2Dropdown border width
borderRadiusNumberNo6Dropdown border radius
placeholderStringNoDropdownDropdown placeholder
maxHeightNumberNoN/ADropdown list max height
checkBoxBackground[string(color)]NoN/ACheckBox Background when Multiple
inputForeground[string(color)]NoN/A
inputBorderColor[string(color)]NoN/A
dropDownListForeground[string(color)]Norgba(0,120,215,0.9)
inputBackground[string(color)]NoN/A
dropDownListBackground[string(color)]NoN/A
dropDownIconStringNoChevronDownIcon with Fabric-Icon
dropDownIconForeground[string(color)]NoN/A
revealBorderColor[string(color)]NoN/A
revealBackgroundColor[string(color)]NoN/A
showErrorBooleanNofalse
errorMessageStringNoThis dropdown has an error
disabledBooleanNofalse
setFocusBooleanNofalseWhether Dropdown list show
themeStringNosystem主题样式, 包含light, dark, system, custom几种样式

Events


事件名(Name)参数类型(args)说明(statement)
changevalueDropdown choose item
visible-changevisibleDropdown list show or hidden

Slot


  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