FLUTTER ECOSYSTEM

theiskaa/field_suggestion

建立高度可自訂、簡單且可控制的自動補全欄位。

欄位建議 專案封面
Stars
31
Forks
15
最近推送(UTC)
2024年11月26日
專案狀態
未封存
Ismael GitHub avatar
GITHUB User

Ismael ↗

Libertas aut mors

@tnet-organizationGeorgia
語言Dart

技術主題

此儲存庫發佈的套件

使用的依賴

依賴清單 4 項
  • flutter{"sdk":"flutter"}
  • highlightable^1.0.5
  • flutter_test開發依賴{"sdk":"flutter"}
  • mockito開發依賴^5.0.16

原始 README

以下為英文專案原文快照,最新內容請造訪 GitHub。

展開 / 收合專案 README


Field Suggesion's Logo

Field Suggesion's Title Logo


Installing

Usage

In this example, we're using the FieldSuggestion.network widget to display suggestions for a username input field. We've provided an inputDecoration with a hint text, a future function that fetches the suggestions based on the user input, a textController that controls the text in the input field, a boxController that controls the visibility of the suggestion box, and a builder function that defines how the suggestions are displayed in the suggestion box.

Note that FieldSuggestion uses generics to allow for suggestions of different types. In the example above, we're using String as the type parameter for FieldSuggestion.network However, any other type can be used, depending on the type of suggestions being displayed.

https://user-images.githubusercontent.com/59066341/220667553-d4d83c93-6e15-424c-b2d5-7a221f30069c.gif
FieldSuggestion<String>.network(
  inputDecoration: InputDecoration(
    hintText: 'Username', // optional
  ),
  future: (input) => future.call(input),
  textController: controller,
  boxController: boxController, // optional
  builder: (context, snapshot) {
    if (snapshot.connectionState != ConnectionState.done) {
      return Center(child: CircularProgressIndicator());
    }

    final result = snapshot.data ?? [];
    return ListView.builder(
      itemCount: result.length,
      itemBuilder: (context, index) {
        return GestureDetector(
          onTap: () {
            setState(() => controller.text = result[index]);
            boxControllerNetwork.close?.call();
          },
          child: Card(child: ListTile(title: Text(result[index]))),
        );
      },
    );
  },
)

Contributing

  • For information regarding contributions, please refer to CONTRIBUTING.md file.