パッケージ、リポジトリ、アプリカテゴリを検索

input_history_text_field のカバー
パッケージ詳細v0.4.0

input_history_text_field

input_history_text_field ウィジェットは、入力時に自動的に保存され、候補を提示します。

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
1320
いいね数
80
Pub ポイント
150

パッケージをインストール

flutter pub add input_history_text_field

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

input_history_text_field パッケージは、ユーザーの入力履歴を自動で保存し、ユーザーが入力する際に提案を提供する Flutter ウィジェットを提供します。以前の入力を記憶することでフォームの使いやすさを向上させ、繰り返しの入力を減らします。検索フィールド、ログインフォーム、または過去の入力が価値のある任意の入力フィールドに最適です。このウィジェットは Android、iOS、Web、macOS、Windows、Linux など複数のプラットフォームをサポートしており、デバイス間で一貫した動作を保証します。シンプルさとパフォーマンスを意識して構築されており、既存の Flutter アプリケーションにスムーズに統合できます。

用途

  • 自動補完機能付きの検索バー
  • 履歴保持付きのフォーム入力
  • ログインまたは登録フィールド
  • ユーザーの好み設定
  • 頻繁に入力するテキストへの素早いアクセス
  • データ入力におけるユーザーエクスペリエンスの向上

主な機能

  • 自動入力履歴の保存
  • タイプする際にリアルタイムで提案
  • クロスプラットフォーム互換性
  • 既存のフォームとの簡単な統合
  • 軽量でパフォーマンスに優れる
  • すべての主要なFlutterプラットフォームをサポートしています

適している対象

  • 検索インターフェースを構築する開発者
  • 繰り返しユーザー入力を必要とするアプリ
  • UXを向上させるためのフォーム
  • 複数のプラットフォームをターゲットにするプロジェクト
  • 履歴機能の最小限のセットアップを希望するチーム

注意事項

  • ストレージの永続性を手動で処理する必要があります
  • 大規模なデータセット用にカスタマイズが必要になる場合があります
  • ローカルストレージのため、機密データには適していません
  • 限定された組み込みスタイルオプション
  • 高度なユースケースには外部状態管理に依存しています

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

input_history_text_field

A input_history_text_field widget is automatically saved and suggest as you type.

Overview

List

example1 example2
image image

Badge

example1 example2
image image

Customize

 
image

Getting Started

Usage

The only key in the your widget of application set to historyKey, supports like a text_field.

InputHistoryTextField(
    historyKey: "01",
),

a saved automatically as you type.( save up to limit, default to 5 )

input_history_text_field-1

a input history is suggested.

input_history_text_field-2

input history can be deleted.

input_history_text_field-3

Example

simple

All you need is a historyKey.

InputHistoryTextField(
    historyKey: "01",
),
badge style

Change style to badge is listStyle = ListStyle.Badge

InputHistoryTextField(
    historyKey: "01",
    listStyle: ListStyle.Badge,
),

 
image
Default items

If there is an item you want to display from the beginning or an item you want the user to selected.

InputHistoryTextField(
    historyKey: "01",
    lockItems: ['Flutter', 'Rails', 'React', 'Vue'],
),

List
image
change icon

Can hide or change the icon.

InputHistoryTextField(
    historyKey: "01",
    showHistoryIcon: true,
    showDeleteIcon: true,
    historyIcon: Icons.add,
    deleteIcon: Icons.delete,
),
 
image
gradually transmitted

enableOpacityGradient is input history list is gradually transmitted.

InputHistoryTextField(
    historyKey: "01",
    enableOpacityGradient: true,
),
 
image
lines decoration

listRowDecoration is input history lines as a decoration.

InputHistoryTextField(
    historyKey: "01",
    listRowDecoration: BoxDecoration(
        border: Border(
        left: BorderSide(color: Colors.blue, width: 8),
        ),
    ),
),

 
image
list decoration

listDecoration is input history list as a decoration.

InputHistoryTextField(
    historyKey: "01",
    listDecoration: BoxDecoration(
        color: Colors.cyan,
        borderRadius: BorderRadius.only(
            bottomLeft: Radius.circular(20),
            bottomRight: Radius.circular(20)),
        boxShadow: [
        BoxShadow(
            color: Colors.grey.withOpacity(0.2),
            spreadRadius: 8,
            blurRadius: 8,
            offset: Offset(0, 3)),
        ],
    ),
),

 
image
list layout builder

If you want to customize everything, to use historyListItemLayoutBuilder.

InputHistoryTextField(
    historyKey: "01",
    historyListItemLayoutBuilder: (controller, value, index) {
        return InkWell(
        onTap: () => controller.select(value.text),
        child: Row(
            children: [
            Expanded(
                flex: 1,
                child: Container(
                    margin: const EdgeInsets.only(left: 10.0),
                    padding: const EdgeInsets.only(left: 10.0),
                    decoration: BoxDecoration(
                    border: Border(
                        left: BorderSide(
                        width: 5.0,
                        color: index % 2 == 0
                            ? Colors.red
                            : Colors.blue,
                        ),
                    ),
                    ),
                    child: Column(
                    crossAxisAlignment: CrossAxisAlignment.start,
                    children: [
                        Text(
                        value.textToSingleLine,
                        overflow: TextOverflow.ellipsis,
                        style:
                            TextStyle(fontWeight: FontWeight.bold),
                        ),
                        Text(
                        DateTime.fromMillisecondsSinceEpoch(
                                value.createdTime)
                            .toUtc()
                            .toString(),
                        overflow: TextOverflow.ellipsis,
                        style: TextStyle(
                            fontSize: 10,
                            color: Theme.of(context).disabledColor),
                        ),
                    ],
                    )),
            ),
            IconButton(
                icon: Icon(
                Icons.close,
                size: 16,
                color: Theme.of(context).disabledColor,
                ),
                onPressed: () {
                controller.remove(value);
                },
            ),
            ],
        ),
    );}
)
 
image
API
name ex note
historyKey key-01 String a only key in the your application,saved with this key.
limit 5 int max limit of input history
hasFocusExpand true bool show input history of edit text focused
showHistoryIcon true bool icon of input history at left positioned
showDeleteIcon true bool icon of delete at right positioned
enableHistory true bool enabled/disabled of input history
enableSave true bool enabled/disabled saved history
enableOpacityGradient true bool make the input history list gradually transparent
enableFilterHistory true bool suggest filters when input text
showHistoryList true bool show/hide of input history list
historyIcon Icons.add IconData IconData for history icon.
historyIconTheme IconTheme IconTheme IconTheme for history icon.
deleteIcon Icons.delete IconData IconData for delete icon.
deleteIconTheme IconTheme IconTheme IconTheme for delete icon.
listOffset Offset(0, 5) Offset set a position for list.
listTextStyle TextStyle(fontSize: 30) TextStyle sets a text style for list.
listRowDecoration BoxDecoration Decoration a row of input history for decoration
listDecoration BoxDecoration Decoration a list of input history for decoration
listStyle ListStyle.List ListStyle change style List or Badge
textColor Colors.black Color a text color
backGroundColor Colors.grey Color a background color
historyIconColor Colors.white Color a history icon color
deleteIconColor Colors.white Color a delete icon color
lockItems ['Flutter', 'Rails', 'React', 'Vue'] List
fixed shown, cannot be delete items
lockTextColor Colors.black Color a lock items text color
lockBackgroundColor Colors.grey Color a lock items background color
historyListItemLayoutBuilder Widget Widget a customize full layout.
InputHistoryController InputHistoryController InputHistoryController Select or delete the input history list

カテゴリー

依存関係

依存関係一覧 1 件

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。