MDUI文件
複製 llms.txt 連結複製 llms-full.txt 連結以 Markdown 格式檢視此頁與 ChatGPT 討論此頁內容與 ChatGPT 討論專案完整文件
預設顏色
自選顏色
從桌布擷取顏色
請選擇一張桌布
開發指南
AI 輔助開發
樣式
與框架整合
元件
Avatar 頭像Badge 徽章BottomAppBar 底部應用程式列Button 按鈕ButtonIcon 圖示按鈕Card 卡片Checkbox 核取方塊Chip 標籤CircularProgress 環形進度條Collapse 收合區塊Dialog 對話框Divider 分隔線Dropdown 下拉元件Fab 浮動動作按鈕Icon 圖示Layout 版面配置LinearProgress 線性進度條List 清單Menu 選單NavigationBar 底部導覽列NavigationDrawer 導覽抽屜NavigationRail 側邊導覽列Radio 單選按鈕RangeSlider 範圍滑桿Select 選擇框SegmentedButton 分段按鈕Slider 滑桿Snackbar 消息條Switch 切換開關Tabs 分頁TextField 文字欄位Tooltip 工具提示TopAppBar 頂部應用程式列
函式
獨立程式庫

Dropdown下拉元件

下拉元件用來在彈出式選單中顯示特定內容,通常會和選單元件一起使用。

使用方法

按需引入元件:

import 'mdui/components/dropdown.js';

按需引入元件的 TypeScript 型別:

import type { Dropdown } from 'mdui/components/dropdown.js';

使用範例:

open dropdown Item 1 Item 2
<mdui-dropdown>
  <mdui-button slot="trigger">open dropdown</mdui-button>
  <mdui-menu>
    <mdui-menu-item>Item 1</mdui-menu-item>
    <mdui-menu-item>Item 2</mdui-menu-item>
  </mdui-menu>
</mdui-dropdown>

範例

禁用狀態

加上 disabled 屬性可以禁用下拉元件。

開啟位置

使用 placement 屬性可以設定下拉元件的開啟位置。

觸發方式

使用 trigger 屬性可以設定下拉元件的觸發方式。

在游標處開啟

加上 open-on-pointer 屬性後,就能在指標位置開啟下拉元件。通常會搭配 trigger="contextmenu" 使用,做出以滑鼠右鍵開啟選單的效果。

保持選單開啟狀態

在下拉元件中使用選單時,預設點擊選單項目後,會自動關閉下拉元件。你可以透過加上 stay-open-on-click 屬性,讓點擊選單項目時保持下拉元件的開啟狀態。

開啟/關閉的延遲

在設定了 trigger="hover" 時,可以透過 open-delayclose-delay 屬性設定開啟和關閉的延遲。

API

屬性

HTML 屬性JavaScript 屬性Reflect型別預設值
openopenbooleanfalse

是否開啟下拉元件

disableddisabledbooleanfalse

是否停用下拉元件

triggertrigger'click' | 'hover' | 'focus' | 'contextmenu' | 'manual' | string'click'

下拉元件的觸發方式,支援多個值,用空格分隔。可選值包括:

  • click:點擊觸發
  • hover:滑鼠懸停觸發
  • focus:聚焦觸發
  • contextmenu:滑鼠右鍵點擊、或觸控長按觸發
  • manual:僅能透過程式方式開啟和關閉下拉元件,不能再指定其他觸發方式
placementplacement'auto' | 'top-start' | 'top' | 'top-end' | 'bottom-start' | 'bottom' | 'bottom-end' | 'left-start' | 'left' | 'left-end' | 'right-start' | 'right' | 'right-end''auto'

下拉元件內容的位置。可選值包括:

  • auto:自動判斷位置
  • top-start:上方左對齊
  • top:上方置中
  • top-end:上方右對齊
  • bottom-start:下方左對齊
  • bottom:下方置中
  • bottom-end:下方右對齊
  • left-start:左側頂部對齊
  • left:左側置中
  • left-end:左側底部對齊
  • right-start:右側頂部對齊
  • right:右側置中
  • right-end:右側底部對齊
stay-open-on-clickstayOpenOnClickbooleanfalse

點擊 <mdui-menu-item> 後,下拉元件是否保持開啟狀態

open-delayopenDelaynumber150

滑鼠懸停觸發下拉元件開啟的延遲,單位為毫秒

close-delaycloseDelaynumber150

滑鼠懸停觸發下拉元件關閉的延遲,單位為毫秒

open-on-pointeropenOnPointerbooleanfalse

是否在觸發下拉元件的游標位置開啟下拉元件,常用於滑鼠右鍵選單

事件

名稱
open

下拉元件開始開啟時觸發。可透過呼叫 event.preventDefault() 阻止下拉元件開啟

opened

下拉元件開啟動畫完成時觸發

close

下拉元件開始關閉時觸發。可透過呼叫 event.preventDefault() 阻止下拉元件關閉

closed

下拉元件關閉動畫完成時觸發

Slots

名稱
預設

下拉元件的內容

trigger

觸發下拉元件的元素,例如 <mdui-button> 元素

CSS Parts

名稱
trigger

觸發下拉元件的元素的容器,即 trigger slot 的容器

panel

下拉元件內容的容器

CSS 自訂屬性

名稱
--z-index

元件的 CSS z-index

本頁目錄