flutter 動態創建TextField和添加controller參數

當項目中需要給多項數據循環添加輸入框時,這個時候需要去創建TextField並綁定controller的值。
解決方案一:
比如一個model:
class Task{

String remark;//要給每個添加的controller綁定的值

String key;//唯一鍵 與數據無關
}
定義一個Map<String,TextEditingController>:
Map<String,TextEditController> _remarkControllers=new Map();
然後在獲取數據的時候:
for(Task task in ListTask){
task.key=new Uuid().v4();
_remarkControllers[task.key]=new TextEditingController(text:task.remark??"");
}

最後在循環創建的時候:
ListTask.map((t){
return Container(
child:TextField(

controller:this._remarkControllers[t.key]

),
);
});

提交數據的時候將 _remarkControllers[task.key].text的值傳給remark就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章