el select v2
1.4.6
基於Element UI 適用於Vue 2 版本的虛擬清單選擇器元件。
線上示範
npm i el-select-v2
npm i element-ui
import Vue from 'vue' ;
// 必须引入 element-ui
import ElementUI from 'element-ui' ;
import 'element-ui/lib/theme-chalk/index.css' ;
import ElSelectV2 from 'el-select-v2' ;
Vue . use ( ElSelectV2 ) ;
< template >
< el-select-v2 v-model = " value " :options = " options " />
</ template >
< script >
export default {
data () {
return {
options : [],
value : ' ' ,
};
},
created () {
for ( let i = 0 ; i < 10000 ; i ++ ) {
this . options . push ({
value : ` value ${ i + 1 } ` ,
label : ` label ${ i + 1 } ` ,
});
}
},
};
</ script >
範例程式碼
參數 | 說明 | 類型 | 可選值 | 預設值 |
---|---|---|---|---|
value / v-model | 綁定值 | boolean / string / number | — | — |
options | 清單數據 | array | — | — |
value-key | value 鍵名 | string | — | value |
label-key | label 鍵名 | string | — | label |
options-key (1.4.6) | options 鍵名 | string | — | options |
disabled-key (1.4.1) | disabled 鍵名 | string | — | disabled |
object-key (1.4.0) | 綁定值為物件類型時的鍵名 | string | — | value |
min-item-size | 每個選項的最小高度 | number | — | 34 |
multiple | 是否多選 | boolean | — | false |
disabled | 是否禁用 | boolean | — | false |
size | 輸入框尺寸 | string | medium/small/mini | — |
clearable | 是否可以清空選項 | boolean | — | false |
collapse-tags | 多選時是否將選取值以文字的形式展示 | boolean | — | false |
multiple-limit | 多選時使用者最多可以選擇的項目數,為0 則不限制 | number | — | 0 |
name | select input 的name 屬性 | string | — | — |
autocomplete | select input 的autocomplete 屬性 | string | — | off |
placeholder | 佔位符 | string | — | 請選擇 |
filterable | 是否可搜尋 | boolean | — | false |
allow-create | 是否允許使用者建立新條目,需配合filterable 使用 | boolean | — | false |
filter-method | 自訂搜尋方法 | function | — | — |
remote | 是否為遠端搜尋 | boolean | — | false |
remote-method | 遠端搜尋方法 | function | — | — |
loading | 是否正在從遠端取得數據 | boolean | — | false |
loading-text | 遠端載入時顯示的文字 | string | — | 載入中 |
no-match-text | 搜尋條件無匹配時顯示的文字,也可以使用slot="empty" 設置 | string | — | 無匹配數據 |
no-data-text | 選項為空白時顯示的文字,也可以使用slot="empty" 設定 | string | — | 無數據 |
popper-class | Select 下拉方塊的類別名 | string | — | — |
reserve-keyword | 多選且可搜尋時,是否在選取一個選項後保留目前的搜尋關鍵字 | boolean | — | true |
default-first-option | 在輸入框按下回車,選擇第一個符合項目。需配合filterable 或remote 使用 | boolean | — | false |
popper-append-to-body | 是否將彈出框插入至body 元素。在彈出框的定位出現問題時,可將該屬性設為false | boolean | — | true |
automatic-dropdown | 對於不可搜尋的Select,是否在輸入框獲得焦點後自動彈出選項選單 | boolean | — | false |
fit-input-width (1.1.0) | 下拉框的寬度是否與輸入框相同,設定為false 後自動計算寬度,效能會降低 | boolean | — | true |
事件名稱 | 說明 | 回呼參數 |
---|---|---|
change | 選取值變更時觸發 | 目前的選取值 |
visible-change | 下拉方塊出現/隱藏時觸發 | 出現則為true,隱藏則為false |
remove-tag | 多重選擇模式下移除tag時觸發 | 移除的tag值 |
clear | 可清空的單選模式下使用者點擊清空按鈕時觸發 | — |
blur | 當input 失去焦點時觸發 | (event: Event) |
focus | 當input 獲得焦點時觸發 | (event: Event) |
name | 說明 |
---|---|
— | 自訂模板,參數為{ item } |
header (1.3.0) | 下拉清單頂部的內容 |
footer (1.3.0) | 下拉清單底部的內容 |
prefix | Select 組件頭部內容 |
empty | 無選項時的列表 |
參數 | 說明 | 類型 | 可選值 | 預設值 |
---|---|---|---|---|
value | 選項的值 | string/number/object | — | — |
label | 選項的標籤,若不設定則預設與value 相同 | string/number | — | — |
options (1.2.0) | 分組選項 | array | — | — |
disabled | 是否停用該選項 | boolean | — | false |
方法名 | 說明 | 參數 |
---|---|---|
focus | 使input 獲取焦點 | — |
blur | 讓input 失去焦點,並隱藏下拉框 | — |