跳到主要內容跳到主要內容

選取器 (Select)API

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

示範

匯入

import Select from '@mui/material/Select';
// or
import { Select } from '@mui/material';

閱讀這份關於最小化 bundle 大小的指南,以瞭解差異。

Props

OutlinedInput 元件的 Props 也可使用。

名稱類型預設值描述
autoWidthboolfalse

如果 true,彈出視窗的寬度將根據選單內的項目自動設定,否則至少會是選取器輸入框的寬度。

childrennode-

用於填充選取器的選項元素。當 native 為 false 時,可以是某些 MenuItem,當 native 為 true 時,可以是 option
⚠️當 native 為 false 時,MenuItem 元素必須是直接子元素。

classesobject{}

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

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

defaultOpenboolfalse

如果 true,元件最初是開啟的。當元件開啟狀態不受控制時使用(即未定義 open prop)。只有在 native prop 為 false(預設值)時才能使用。

defaultValueany-

預設值。當元件不受控制時使用。

displayEmptyboolfalse

如果 true,即使未選取任何項目,也會顯示值。
為了顯示有意義的值,可以將函數傳遞給 renderValue prop,該函數會在未選取任何項目時傳回要顯示的值。
⚠️ 使用此 prop 時,請確保標籤不會與空白顯示的值重疊。標籤應隱藏或強制縮小狀態。

IconComponentelementTypeArrowDropDownIcon

顯示箭頭的圖示。

idstring-

native 時,包裝器元素或 select 元素的 id

inputelement-

Input 元素;不一定要是 material-ui 特定的 Input

inputPropsobject-

屬性 套用至 input 元素。當 nativetrue 時,屬性會套用至 select 元素。

labelnode-

請參閱 OutlinedInput#label

labelIdstring-

作為額外標籤的元素的 ID。選取器將由額外標籤和選取的值標記。

MenuPropsobject-

套用至 Menu 元素的 Props。

multipleboolfalse

如果 truevalue 必須是陣列,且選單將支援多重選取。

nativeboolfalse

如果 true,元件會使用原生 select 元素。

onChangefunc-

選取選單項目時觸發的回呼。

簽名:function(event: SelectChangeEvent<value>, child?: object) => void
  • event 回呼的事件來源。您可以透過存取 event.target.value (any) 來取出新值。警告:這是一個通用事件,而不是變更事件,除非變更事件是由瀏覽器自動填寫引起的。
  • childnativefalse(預設值)時選取的 react 元素。
onClosefunc-

當元件請求關閉時觸發的回呼。在受控模式(請參閱 open prop)或非受控模式中使用它(以偵測選取器何時收合)。

簽名:function(event: object) => void
  • event 回呼的事件來源。
onOpenfunc-

當元件請求開啟時觸發的回呼。在受控模式(請參閱 open prop)或非受控模式中使用它(以偵測選取器何時展開)。

簽名:function(event: object) => void
  • event 回呼的事件來源。
openbool-

如果 true,則顯示元件。只有在 native prop 為 false(預設值)時才能使用。

renderValuefunc-

渲染選取的值。只有在 native prop 為 false(預設值)時才能使用。

簽名:function(value: any) => ReactNode
  • value 提供給元件的 value
SelectDisplayPropsobject-

套用至可點擊 div 元素的 Props。

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

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

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

value''
| any
-

input 值。提供空字串將不會選取任何選項。如果您不希望選取任何可用選項,請設定為空字串 ''
如果值是物件,則它必須與選項具有參考相等性才能被選取。如果值不是物件,則字串表示必須與選項的字串表示相符才能被選取。

variant'filled'
| 'outlined'
| 'standard'
'outlined'

要使用的變體。

ref 轉發到根元素。

繼承

雖然上面未明確記錄,但 OutlinedInput 元件的 props 也可在 Select 中使用。您可以利用這一點來目標巢狀元件

主題預設 props

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

CSS 類別

這些類別名稱對於使用 CSS 設定樣式很有用。當觸發特定狀態時,它們會套用至元件的插槽。

類別名稱規則名稱描述
.Mui-disabled套用至選取器元件 disabled 類別的狀態類別。
.Mui-error如果 error={true},則套用至根元素的狀態類別。
.Mui-focused如果選取器元件處於焦點狀態,則套用樣式。
.MuiSelect-filledfilled如果 variant="filled",則套用至選取器元件的樣式。
.MuiSelect-iconicon套用至圖示元件的樣式。
.MuiSelect-iconFillediconFilled如果 variant="filled",則套用至圖示元件的樣式。
.MuiSelect-iconOpeniconOpen如果彈出視窗開啟,則套用至圖示元件的樣式。
.MuiSelect-iconOutlinediconOutlined如果 variant="outlined",則套用至圖示元件的樣式。
.MuiSelect-iconStandardiconStandard如果 variant="standard",則套用至圖示元件的樣式。
.MuiSelect-multiplemultiple如果 multiple={true},則套用至選取器元件的樣式。
.MuiSelect-nativeInputnativeInput套用至底層原生輸入元件的樣式。
.MuiSelect-outlinedoutlined如果 variant="outlined",則套用至選取器元件的樣式。
.MuiSelect-rootroot套用至根元素的樣式。
.MuiSelect-selectselect套用至選取器元件 select 類別的樣式。
.MuiSelect-standardstandard如果 variant="standard",則套用至選取器元件的樣式。

您可以使用以下其中一種客製化選項來覆寫元件的樣式

原始碼

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