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 頂部應用程式列
函式
獨立程式庫

Menu選單

選單元件提供一組垂直排列的項目。當使用者與按鈕或其他控制項互動時,會顯示選單。

如果你需要建立下拉選單,可以搭配 <mdui-dropdown> 元件。

使用方法

按需引入元件:

import 'mdui/components/menu.js';
import 'mdui/components/menu-item.js';

按需引入元件的 TypeScript 型別:

import type { Menu } from 'mdui/components/menu.js';
import type { MenuItem } from 'mdui/components/menu-item.js';

使用範例:

Item 1 Item 2
<mdui-menu>
  <mdui-menu-item>Item 1</mdui-menu-item>
  <mdui-menu-item>Item 2</mdui-menu-item>
</mdui-menu>

範例

下拉選單

搭配 <mdui-dropdown> 元件來建立下拉選單。

緊湊佈局

<mdui-menu> 元件上加上 dense 屬性,可以做成緊湊佈局。

停用選單項目

<mdui-menu-item> 元件上加上 disabled 屬性,可以停用該選單項目。

支援單選

<mdui-menu> 元件上指定 selects 屬性為 single,可以做成單選功能。此時 <mdui-menu>value 值即為目前選取的 <mdui-menu-item>value 值。

支援多選

<mdui-menu> 元件上指定 selects 屬性為 multiple,可以做成多選功能。此時 <mdui-menu>value 值即為目前選取的 <mdui-menu-item>value 值所組成的陣列。

注意:在多選模式下,<mdui-menu>value 值為陣列,只能透過 JavaScript 屬性來讀取和設定該值。

圖示

<mdui-menu-item> 元件上,透過設定 iconend-icon 屬性,可以分別在選單項目的左側和右側加入 Material Icons 圖示。透過設定 end-text 屬性,則可以在右側加入文字。此外,也可以透過 iconend-iconend-text slot 在選單項目的左側和右側加入圖示和文字。

如果需要在選單項目左側空出一個圖示的位置以保持與其他選單項目的對齊,可以將 icon 屬性設定為空字串。

在單選或多選模式下,可以透過 selected-icon 屬性或 selected-icon slot 設定選取狀態的圖示。

<mdui-menu-item> 元件上設定 href 屬性,即可將選單項目轉為連結,並可使用以下連結相關的屬性:downloadtargetrel

子選單

<mdui-menu-item> 元件中,可以使用 submenu slot 來指定子選單項目的元素。

<mdui-menu> 元件上,可以透過 submenu-trigger 屬性設定子選單的觸發方式。

submenu-trigger 屬性設定為 hover 時,可以在 <mdui-menu> 元件上透過 submenu-open-delaysubmenu-close-delay 屬性設定子選單的開啟延遲和關閉延遲。

自訂內容

<mdui-menu-item> 元件中,你可以使用 custom slot 來完全自訂選單項目的內容。

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

選單項目的值

是否停用選單項目

左側的 Material Icons 圖示名。也可以透過 slot="icon" 設定

如果左側不需要顯示圖示,但需要預留一個圖示的位置,可傳入空字串進行佔位

右側的 Material Icons 圖示名。也可以透過 slot="end-icon" 設定

右側的文字。也可以透過 slot="end-text" 設定

選取狀態的 Material Icons 圖示名。也可以透過 slot="selected-icon" 設定

是否開啟子選單

連結的目標 URL。

若設定此屬性,元件內部將渲染為 <a> 元素,並可以使用連結相關的屬性。

下載連結的目標。

Note:僅在設定了 href 屬性時,此屬性才有效。

連結的開啟方式。可選值包括:

  • _blank:在新視窗中開啟連結
  • _parent:在父框架中開啟連結
  • _self:預設。在目前框架中開啟連結
  • _top:在整個視窗中開啟連結

Note:僅在設定了 href 屬性時,此屬性才有效。

目前文件與被連結文件之間的關係。可選值包括:

  • alternate:目前文件的替代版本
  • author:目前文件或文章的作者
  • bookmark:永久連結到最近的祖先章節
  • external:引用的文件與目前文件不在同一站點
  • help:連結到相關的說明文件
  • license:目前文件的主要內容由被引用文件的版權許可覆蓋
  • me:目前文件代表連結內容的所有者
  • next:目前文件是系列中的一部分,被引用的文件是系列的下一個文件
  • nofollow:目前文件的作者或發布者不認可被引用的文件
  • noreferrer:不包含 Referer 標頭。類似於 noopener 的效果
  • opener:如果超連結會建立一個頂級瀏覽上下文(即 target 屬性值為 _blank),則建立一個輔助瀏覽上下文
  • prev:目前文件是系列的一部分,被引用的文件是系列的上一個文件
  • search:提供一個資源連結,可用於搜尋目前檔案及其相關頁面
  • tag:提供一個適用於目前文件的標籤(由給定位址識別)

Note:僅在指定了 href 屬性時可用。

是否在頁面載入完成後自動取得焦點

元素在使用 Tab 鍵切換焦點時的順序

名稱參數回傳值

模擬滑鼠點擊元素

將焦點設定到目前元素。

可以傳入一個物件作為引數,該物件的屬性包括:

  • preventScroll:預設情況下,元素取得焦點後,頁面會捲動以將該元素捲動到檢視中。如果不希望頁面捲動,可以將此屬性設定為 true

移除目前元素的焦點

名稱

取得焦點時觸發

失去焦點時觸發

子選單開始開啟時,事件被觸發。可以透過呼叫 event.preventDefault() 阻止子選單開啟

子選單開啟動畫完成時,事件被觸發

子選單開始關閉時,事件被觸發。可以透過呼叫 event.preventDefault() 阻止子選單關閉

子選單關閉動畫完成時,事件被觸發

名稱

選單項目的文字

選單項目左側圖示

選單項目右側圖示

選單右側的文字

選取狀態的圖示

子選單

任意自訂內容

名稱

選單項目的容器

左側的圖示

文字內容

右側的圖示

右側的文字

選取狀態的圖示

子選單元素

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

選單項的可選狀態。預設不可選。可選值包括:

  • single:單選
  • multiple:多選

目前選取的 <mdui-menu-item> 的值。

Note:該屬性的 HTML 屬性始終為字串,僅在 selects="single" 時可透過 HTML 屬性設定初始值;該屬性的 JavaScript 屬性值在 selects="single" 時為字串,在 selects="multiple" 時為字串陣列。因此,在 selects="multiple" 時,若要修改該值,只能透過修改 JavaScript 屬性值來實作。

選單項是否使用緊湊版面

子選單的觸發方式,支援多個值,用空格分隔。可選值包括:

  • click:點擊選單項時開啟子選單
  • hover:滑鼠懸停到選單項上時開啟子選單
  • focus:聚焦到選單項上時開啟子選單
  • manual:僅能透過程式方式開啟和關閉子選單,不能再指定其他觸發方式

滑鼠懸停觸發子選單開啟的延遲,單位毫秒

滑鼠懸停觸發子選單關閉的延遲,單位毫秒

名稱參數回傳值

將焦點設定在目前元素上

從目前元素中移除焦點

名稱

選單項選取狀態變化時觸發

名稱

子選單項(<mdui-menu-item>)、分隔線(<mdui-divider>)等元素

名稱

元件的圓角大小。可以指定一個具體的像素值;但更推薦引用設計令牌

本頁目錄