带有 TextFIeld 的 CupertinoAlertDialog

Api*_*pin 3 flutter

如何在 Cupertino 对话框中添加 TextField。我在下面尝试此代码,但没有用:

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

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

anm*_*ail 7

这应该可以解决问题:

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
              ),
            ),
          ],
        ),
      ),
    );
  },
);
Run Code Online (Sandbox Code Playgroud)

  • 您可以使用 `CupertinoTextField` 而不是 `Card` 来获得完整的 iOS 外观。 (2认同)