按鈕
按鈕讓使用者透過單次點擊執行動作和做出選擇。
簡介
按鈕傳達使用者可以執行的動作。Joy UI 按鈕元件取代了原生的 HTML <button>
元素,並為樣式和可存取性提供了更多選項。
<Button onClick={()=>{}} />
遊樂場
基本
import Button from '@mui/joy/Button';
Joy UI 按鈕的行為與原生的 HTML <button>
類似,因此它會環繞在其表面上顯示的文字。
下面的示範顯示了按鈕可用的三個基本狀態:預設、已停用和載入中。
按下 Enter 開始編輯
已停用
使用 disabled
屬性停用互動和焦點
按下 Enter 開始編輯
按下 Enter 開始編輯
按下 Enter 開始編輯
尺寸
按鈕元件提供三種尺寸:sm
、md
(預設)和 lg
。
按下 Enter 開始編輯
顏色
主題中包含的每個調色盤都可透過 color
屬性使用。嘗試將不同的顏色與不同的變體組合。
變體
裝飾器
使用 startDecorator
和 endDecorator
屬性,將動作和圖示附加到按鈕的任一側
按下 Enter 開始編輯
按下 Enter 開始編輯
載入位置
loadingPosition
屬性設定按鈕載入指示器的位置。它支援三個值
按下 Enter 開始編輯
連結按鈕
按鈕讓使用者執行動作,但如果該動作是導航到新頁面,則通常錨點標籤比按鈕標籤更適合。
如果您需要按鈕的樣式以及連結的功能,則可以使用 component
屬性將預設的 <button>
替換為 <a>
,如下所示
檔案上傳
若要建立檔案上傳按鈕,請使用 component="label"
將按鈕變成標籤,然後建立類型為 file
的視覺隱藏輸入。
<Button
startDecorator={<FavoriteBorder />}
>
CSS 變數
px
<IconButton
>
<FavoriteBorder />
</IconButton>
CSS 變數
px
可存取性
所有按鈕都必須具有有意義的 aria-label
,以便需要輔助技術的使用者可以理解其用途。
對於圖示按鈕而言,這尤其重要,因為它們不包含任何文字。例如,顯示 <FavoriteBorder />
圖示的圖示按鈕可能具有如下所示的標籤
<IconButton aria-label="Add to favorites">
<FavoriteBorder />
</IconButton>
結構
按鈕元件由單個根 <button>
元素組成,該元素環繞其內容
<button class="MuiButton-root" type="button">
<!-- Button contents -->
</button>