Flutter Chip寫法

前言

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 開發更加靈活、豐富。