日更(五十一)-flutter-TextField(Input)

瞎扯

如題,文本輸入.沒啥好扯的.

Input

TextField 是最常用的文本輸入widget.

默認情況下,TextField有一個下劃線裝飾(decoration)。您可以通過提供給decoration屬性設置一個InputDecoration來添加一個標籤、一個圖標、提示文字和錯誤文本。 要完全刪除裝飾(包括下劃線和爲標籤保留的空間),將decoration明確設置爲空即可。

TextFormField包裹一個TextField 並將其集成在Form中。你要提供一個驗證函數來檢查用戶的輸入是否滿足一定的約束(例如,一個電話號碼)或當你想將TextField與其他FormField集成時,使用TextFormField

獲取用戶輸入

有兩種獲取用戶輸入的主要方法::

onChanged

每當用戶輸入時,TextField會調用它的onChanged回調。 您可以處理此回調以查看用戶輸入的內容。例如,如果您正在輸入搜索字段,則可能需要在用戶輸入時更新搜索結果。

TextEditingController

一個更強大(但更精細)的方法是提供一個TextEditingController作爲TextFieldcontroller屬性。 在用戶輸入時,controller的textselection屬性不斷的更新。要在這些屬性更改時得到通知,請使用controller的addListener方法監聽控制器 。 (如果你添加了一個監聽器,記得在你的State對象的dispose方法中刪除監聽器 )。

TextEditingController還可以讓您控制TextField的內容。如果修改controller的textselection的屬性,TextField將更新,以顯示修改後的文本或選中區間。 例如,您可以使用此功能來實現推薦內容的自動補全。

 new TextField(
          controller: _controller, //控制器
          decoration: new InputDecoration(
            hintText: '請輸入',
          ),
        ),
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章