Select 選擇器
單選下拉選單。觸發器對齊 Input 外觀;選項懸停與選中使用淺品牌色,不是實心黃塊。
示範
基礎
綁定
value,並以 e.detail.value 監聽 change。選項以 gk-option 插槽提供。 值:pear
自訂載入與空狀態內容
使用
slot="loading" 或 slot="empty" 的元素, 自訂清單的載入與空狀態內容。 載入與遠端搜尋
loading 顯示載入狀態並阻擋選取;remote 會在 debounce 後以 e.detail.query 與遞增的 e.detail.requestId 派發 search。請保留最新 request id 以忽略過期的非同步回應; 可用 remote-debounce 設定毫秒數。 篩選
filterable 會加入搜尋欄位,並依選項文字或 value 篩選。 多選
multiple 會保持清單開啟,並將已選值顯示為標籤。value 請使用字串陣列; 選項也會顯示 checkbox 選取指示。 已選:apple、pear
多選數量上限
在多選模式設定
max 限制新增數量;已選項目仍可正常取消。 選項群組與空狀態
可使用 <gk-option-group label="…"> 將選項分組。鍵盤以 Arrow/Home/End 導覽時會跳過停用選項;沒有選項時,清單會顯示 No options 狀態。
設定 filterable 後,清單開啟時會顯示搜尋欄位。篩選會不分大小寫比對選項文字或 value;Arrow 鍵與 Enter 仍可從篩選結果中導覽與選取。
選項群組
使用
gk-option-group 將選項分組;停用群組會停用其中所有選項。 空狀態
開啟但沒有選項的 Select 會顯示空清單狀態。
尺寸
高度對齊 Input:
sm / md / lg 為 28 / 34 / 40。 虛擬滾動
大量選項可啟用
virtual。item-height 請設定為實際選項高度(像素)。 可清除
clearable 在有值時顯示清除按鈕。 狀態
以
status 顯示驗證外觀:success、warning 或 error。 停用
disabled 會阻擋開啟。 API
Select Props
| Prop | 型別 | 預設值 |
|---|---|---|
value | string | string[] | ''/multiple 時為 [] |
placeholder | string | '' |
size | 'sm' | 'md' | 'lg' | 'md' |
disabled | boolean | false |
clearable | boolean | false |
filterable | boolean | false |
loading | boolean | false |
remote | boolean | false |
remote-debounce | number | 300 |
virtual | boolean | false |
item-height | number | 34 |
name | string | '' |
required | boolean | false |
可使用 loading 與 empty 命名 slot 自訂狀態內容。 設定 name 可讓 Select 參與原生表單提交;required 會啟用約束驗證。 呼叫 form.reset() 會清除 Select 值。 | multiple | boolean | false | | max | number | 0(不限) | | status | 'success' \| 'warning' \| 'error' \| '' | '' | | open | boolean | false |
Select Slots
| 名稱 | 說明 |
|---|---|
| default | <gk-option value="…"> 子元素 |
| loading | loading 為 true 時顯示的內容 |
| empty | 沒有可見選項時顯示的內容 |
Select Events
| 名稱 | 說明 |
|---|---|
change | detail: { value: string | string[] } |
search | detail: { query: string, requestId: number }(remote debounce 後) |
Option Props
| Prop | 型別 | 預設值 |
|---|---|---|
value | string | '' |
disabled | boolean | false |
Option Group Props
| Prop | 型別 | 預設值 |
|---|---|---|
label | string | '' |
disabled | boolean | false |