![](/img/trans.png)
[英]How to use a particular widget inside a ListView.builder in Flutter
[英]How to use a ListView.builder to output a widget when a form is submitted
嗨,我有一个文本表单字段,当填写表单时,我想使用 listview.builder 在多个页面上输出值,目前我可以在单个容器中输出数据,当我再次填写表单时,它不会添加另一个容器它只会更新当前容器的值如果有人知道怎么做请帮忙
一个完整的例子:
来源:
import 'package:flutter/material.dart';
class Demo extends StatefulWidget {
@override
_DemoState createState() => new _DemoState();
}
class _DemoState extends State<Demo> {
List<String> _items = new List(); // to store comments
final myController = TextEditingController();
void _addComment() {
if (myController.text.isNotEmpty) {
// check if the comments text input is not empty
setState(() {
_items.add(myController.text); // add new commnet to the existing list
});
myController.clear(); // clear the text from the input
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("DEMO")),
body: Container(
padding: EdgeInsets.all(15),
child: Column(children: [
Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Expanded(
child: TextField(
style: TextStyle(color: Colors.black),
controller: myController,
maxLines: 5,
keyboardType: TextInputType.multiline,
)),
SizedBox(width: 15),
InkWell(
onTap: () {
_addComment();
},
child: Icon(Icons.send))
]),
SizedBox(height: 10),
Expanded(
child: ListView.builder(
itemCount: _items.length,
itemBuilder: (BuildContext ctxt, int index) {
return Padding(
padding: EdgeInsets.all(10),
child: Text("${(index + 1)}. " + _items[index]));
}))
])));
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.