首页 > 解决方案 > CupertinoAlertDialog 与 TextFIeld

问题描述

如何在 Cupertino 对话框中添加 TextField。我在下面尝试了这段代码,但没有奏效:

showDialog<bool>(
    context: _scaffoldKey.currentContext,
    builder: (context) {
    return CupertinoAlertDialog(
        title: Text('Tambah baru'),
        content: Column(
        children: <Widget>[
            TextField(
            decoration: InputDecoration(labelText: "Nama"),
            ),
        ],
        ),
    );
    },
);

错误说:“TextField 小部件需要一个 Material 小部件祖先。”

标签: flutter

解决方案


这应该解决问题:

showDialog<bool>(
  context: context,
  builder: (context) {
    return CupertinoAlertDialog(
      title: Text('Tambah baru'),
      content: Card(
        color: Colors.transparent,
        elevation: 0.0,
        child: Column(
          children: <Widget>[
            TextField(
              decoration: InputDecoration(
                labelText: "Nama",
                filled: true,
                fillColor: Colors.grey.shade50
              ),
            ),
          ],
        ),
      ),
    );
  },
);

推荐阅读