跳到主要內容

RichTreeViewAPI

React RichTreeView 元件的 API 參考文件。了解此匯出模組的 props、CSS 和其他 API。

示範

匯入

import { RichTreeView } from '@mui/x-tree-view/RichTreeView';
// or
import { RichTreeView } from '@mui/x-tree-view';

閱讀此關於最小化套件大小的指南,以了解差異。

Props

原生元件的 Props 也可用。

名稱類型預設值描述
apiRef{ current?: { focusItem: func, getItem: func, getItemDOMElement: func, getItemOrderedChildrenIds: func, getItemTree: func, selectItem: func, setItemExpansion: func, updateItemLabel: func } }-

允許樹狀檢視操作的 ref 物件。可以使用 useTreeViewApiRef() 實例化。

checkboxSelectionboolfalse

如果 true,樹狀檢視會在標籤左側呈現一個核取方塊,允許選取它。

classesobject-

覆寫或擴充套用至元件的樣式。

請參閱下方CSS 類別 API 以取得更多詳細資訊。

defaultExpandedItemsArray<string>[]

展開的項目 ID。在項目展開未受控制時使用。

defaultSelectedItemsany[]

選取的項目 ID。(不受控制)當 multiSelect 為 true 時,這會採用字串陣列;當為 false(預設值)時,則為字串。

disabledItemsFocusableboolfalse

如果 true,將允許焦點放在停用的項目上。

disableSelectionboolfalse

如果 true,則停用選取。

expandedItemsArray<string>-

展開的項目 ID。在項目展開受控制時使用。

expansionTrigger'content'
| 'iconContainer'
'content'

點擊時觸發項目展開的插槽。

experimentalFeatures{ indentationAtItemLevel?: bool, labelEditing?: bool }-

不穩定的功能,可能會引入重大變更。對於每個功能,如果旗標未明確設定為 true,則該功能將完全停用,且任何屬性/方法呼叫都不會產生任何效果。

getItemIdfunc(item) => item.id

用於判斷給定項目的 ID。

簽名:function(item: R) => string
  • item 要檢查的項目。

傳回: 項目的 ID。

getItemLabelfunc(item) => item.label

用於判斷給定項目的字串標籤。

簽名:function(item: R) => string
  • item 要檢查的項目。

傳回: 項目的標籤。

idstring-

此 prop 用於協助實作協助工具邏輯。如果您未提供此 prop。它會回退到隨機產生的 ID。

isItemDisabledfunc-

用於判斷給定項目是否應停用。

簽名:function(item: R) => boolean
  • item 要檢查的項目。

傳回: 如果項目應停用,則傳回 true

isItemEditablefunc
| bool
-

判斷給定項目是否可編輯。請務必同時啟用 labelEditing 實驗性功能:<RichTreeViewPro experimentalFeatures={{ labelEditing: true }} />。預設情況下,項目不可編輯。

itemChildrenIndentationnumber
| string
12px

項目及其子項目之間的水平縮排。範例:24、"24px"、"2rem"、"2em"。

multiSelectboolfalse

如果 truectrlshift 將觸發多重選取。

onExpandedItemsChangefunc-

在樹狀項目展開/摺疊時觸發的回呼。

簽名:function(event: React.SyntheticEvent, itemIds: array) => void
  • event 觸發變更的 DOM 事件。
  • itemIds 展開項目的 ID。
onItemClickfunc-

在點擊給定樹狀項目的 content 插槽時觸發的回呼。

簽名:function(event: React.MouseEvent, itemId: string) => void
  • event 觸發變更的 DOM 事件。
  • itemId 焦點項目的 ID。
onItemExpansionTogglefunc-

在樹狀項目展開或摺疊時觸發的回呼。

簽名:function(event: React.SyntheticEvent, itemId: array, isExpanded: array) => void
  • event 觸發變更的 DOM 事件。
  • itemId 修改項目的 itemId。
  • isExpanded 如果項目剛展開,則為 true,如果剛摺疊,則為 false
onItemFocusfunc-

在給定樹狀項目取得焦點時觸發的回呼。

簽名:function(event: React.SyntheticEvent | null, itemId: string) => void
  • event 觸發變更的 DOM 事件。警告:這是一個通用事件,而不是焦點事件。
  • itemId 焦點項目的 ID。
onItemLabelChangefunc-

在項目標籤變更時觸發的回呼。

簽名:function(itemId: TreeViewItemId, newLabel: string) => void
  • itemId 已編輯項目的 ID。
  • newLabel 項目新的標籤。
onItemSelectionTogglefunc-

在樹狀項目選取或取消選取時觸發的回呼。

簽名:function(event: React.SyntheticEvent, itemId: array, isSelected: array) => void
  • event 觸發變更的 DOM 事件。
  • itemId 修改項目的 itemId。
  • isSelected 如果項目剛選取,則為 true,如果剛取消選取,則為 false
onSelectedItemsChangefunc-

在樹狀項目選取/取消選取時觸發的回呼。

簽名:function(event: React.SyntheticEvent, itemIds: Array | string) => void
  • event 觸發變更的 DOM 事件。
  • itemIds 選取項目的 ID。當 multiSelecttrue 時,這是一個字串陣列;當為 false(預設值)時,則為字串。
selectedItemsany-

選取的項目 ID。(受控制)當 multiSelect 為 true 時,這會採用字串陣列;當為 false(預設值)時,則為字串。

slotPropsobject{}

用於每個元件插槽的 props。

slotsobject{}

可覆寫的元件插槽。

請參閱下方插槽 API 以取得更多詳細資訊。

sxArray<func
| object
| bool>
| func
| object
-

允許定義系統覆寫以及其他 CSS 樣式的系統 prop。

請參閱 `sx` 頁面 以取得更多詳細資訊。

ref 會轉發到根元素。

主題預設 props

您可以使用 MuiRichTreeView 透過主題變更此元件的預設 props。

插槽

插槽名稱類別名稱預設元件描述
root.MuiRichTreeView-rootRichTreeViewRoot在根目錄呈現的元素。
itemTreeItem。項目的自訂元件。
collapseIcon用於摺疊項目的預設圖示。
expandIcon用於展開項目的預設圖示。
endIcon顯示在結束項目旁邊的預設圖示。這會套用至所有樹狀項目,並且可以由 TreeItem icon 插槽 prop 覆寫。

原始碼

如果您在此頁面中找不到資訊,請考慮查看元件的實作以取得更多詳細資訊。