Flutter:如何使用listview.builder正确显示表单?

时间:2020-06-22 09:54:11

标签: flutter listview dart

我有一个MessageDetailPage,可以显示带有或不带有表单的消息详细信息。我分成两个有状态的小部件。一个是显示基本详细信息的MessageDetailMainPage,另一个是显示消息形式的MessageDetailFormDisplayPage。

这是MessageDetailMainPage:

child: Scaffold(
 appBar: AppBar(),
 body: SafeArea(
  child: Column(
   children: <Widget> [
    Text(message.title),
    Row(message.detail),
    Divider(),
    MessageDetailFormDisplayPage(
     messageID: widget.messageID
    )
  ]
 )
)

这是MessageDetailFormDisplayPage: 我使用Future Builder加载表单,摘要如下:

Widget build(BuildContext context) {
 return FutureBuilder(
  builder: (context, snapshot) {
   switch (snapshot.connectionState) {
    case ConnectionState.none:
     return Container(
      child: Text("Please check your connection!"),
     );
    default:
     return Expanded(
      child: ListView.builder(
       itemCount: questions.length,
       itemBuilder: (context, index) {
        return Column(
         children: [
          Text(question.questionTitle),
          Form(
           child: TextFormField(),
          )
         ]
        )
       }
      )
     )

重点是在表单末尾有一个“提交”按钮。而且我不能使用Column来在MessageDetailFormDisplayPage中包装Expanded。我猜是因为该列嵌套在另一个列中,所以如何添加按钮?

0 个答案:

没有答案