flutter - FLUTTER/DART - 文本未显示到 FloatingActionButton 中的 home.dart 文件
问题描述
在将文本输入到 FloatingActionButton 时,在我的 home.dart 文件中显示文本时出现问题。
下面是代码示例。任何我弄错的建议。我相信'字符串值;' 行必须在同一个 MaterialButton 函数中,但不确定如何在不进一步破坏它的情况下执行此操作。
解决方案
我在这里使用一个简单的应用程序来展示这种行为。您可以通过复制并运行以下命令进行测试:
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
debugShowCheckedModeBanner: false,
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: SomeScreen(),
);
}
}
class SomeScreen extends StatefulWidget {
@override
_SomeScreenState createState() => _SomeScreenState();
}
class _SomeScreenState extends State<SomeScreen> {
String value = '';
@override
Widget build(BuildContext context) {
return Scaffold(
floatingActionButton: FloatingActionButton(
onPressed: () async {
await _createDialog(context);
setState(() {});
},
child: Icon(Icons.add),
backgroundColor: Colors.red,
),
body: Container(
color: Colors.blue,
child: Center(
child: Text(value),
),
),
);
}
_createDialog(context) async {
await showDialog(
context: context,
builder: (BuildContext dialogContext) {
return AlertDialog(
title: Text('title'),
content: TextField(
onChanged: (text) {
value = text;
},
),
actions: <Widget>[
FlatButton(
child: Text('buttonText'),
onPressed: () {
Navigator.pop(context);
},
),
],
);
},
);
}
}
推荐阅读
- activemq-artemis - 在 ActiveMQ Artemis 中进行过滤。在集群中重新加载配置
- emacs - 如何保持放大emacs rnw
- javascript - jquery 删除父 cur.element 的父级
- qr-code - TCPDF - 字母数字字符问题(大小错误)
- entity-framework - EF Core 2.1 值转换更新问题
- angular - 让 bootstrap-multiselect 与 Angular 2+ 一起工作
- reactjs - React-Admin:第二次单击 MenuItemLink 清除表单输入
- java - javafx:当条件尚未满足时,保持 listview 的 oldValue 和 newValue 相同
- go - 为本地项目/私人 git 运行报告卡
- javascript - iframe 中的函数在加载 js 库之前执行