前言
RawChip 是 Flutter 中「芯片」元件的基礎,為各種樣式和交互功能提供了靈活性。基於它的設計,Flutter 引入了四種常用的芯片元件:Chip、InputChip、ChoiceChip 和 FilterChip。這些元件在不同情境下應用,以下是它們的詳述:
Chip
Chip 是一個基本的標籤型元件,主要用於顯示簡單的內容,比如文字或圖片。它支援圖示、刪除按鈕等,用於標記、簡單展示資訊或指示狀態。
屬性:
• label: 顯示的主要內容,例如文本。
• avatar: 用於展示圖示或小圖片,例如用戶頭像。
• onDeleted: 添加刪除按鈕和刪除的回呼操作。
範例:
Chip(
label: Text('Example Chip'),
avatar: CircleAvatar(child: Text('A')),
onDeleted: () {
// 刪除的操作
},
)
應用情境:常用於簡單的標記,如顯示項目標籤、選項或人員。
InputChip
InputChip 用於顯示輸入相關的信息或標籤(例如用戶輸入的標記、標籤),並支援點擊、刪除等操作。InputChip 常出現在表單中,用於收集和管理使用者的輸入數據。
屬性:
• onPressed: 用於處理點擊操作的回呼。
• onDeleted: 用於刪除操作。
• selected: 顯示選擇狀態。
範例:
InputChip(
label: Text('Input Chip'),
onPressed: () {
// 點擊操作
},
onDeleted: () {
// 刪除操作
},
selected: true, // 是否被選擇
)
應用情境:適合用於表單中或顯示使用者輸入的標記,比如搜尋標籤或可移除的標記。
ChoiceChip
ChoiceChip 是單選元件,用於一組選項中進行單一選擇。它通常會顯示選擇狀態,例如一組標籤樣式的選項,供使用者點擊選擇。
屬性:
• selected: 用於顯示該選項是否被選中。
• onSelected: 用於處理選擇狀態變更的回呼操作。
範例:
ChoiceChip(
label: Text('Choice 1'),
selected: isSelected,
onSelected: (selected) {
setState(() {
isSelected = selected;
});
},
)
應用情境:適合單選場景,比如性別選擇、顯示設定中的單一選擇項目。
FilterChip
FilterChip 是多選元件,通常用於標記或篩選,允許選擇多個選項。用於展示多個選項,每個選項都可以單獨選中或取消選中。
屬性:
• selected: 用於顯示該選項是否被選中。
• onSelected: 用於處理選擇狀態變更的回呼操作。
範例:
FilterChip(
label: Text('Filter Option'),
selected: isFilterSelected,
onSelected: (selected) {
setState(() {
isFilterSelected = selected;
});
},
)
應用情境:適合多選場景,如篩選條件選擇、標籤篩選等。
Chip類型 | 功能描述 | 主要用途 |
Chip | 顯示簡單內容或標記 | 展示標籤、簡單資訊、狀態 |
InputChip | 顯示輸入信息、管理標籤 | 表單、使用者輸入標記 |
ChoiceChip | 單一選擇元件 | 單選場景(如設定選項) |
FilterChip | 多重選擇篩選元件 | 篩選條件、多選標籤 |
這些芯片元件都建立在 RawChip 之上,根據不同的使用情境提供額外的功能,使 UI 開發更加靈活、豐富。