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就可以了。

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