实现TextField时遇到一些困难。更具体地说,我试图使用控制器来清除按钮的onPress方法上的TextField。 controller.clear()从TextField中删除文本,但是一旦你继续输入,旧的值就会重新出现。TextField controller.clear()实际上并未清除TextField
重现(使用扑画廊):
修改LIB /演示/材料/ date_and_time_picker_demo.dart到控制器添加到TextField的一个:
添加以下类的开头_DateAndTimePickerDemoState(在我的情况管线124):
class _DateAndTimePickerDemoState extends State<DateAndTimePickerDemo> {
++ TextEditingController _controller = new TextEditingController();
DateTime _fromDate = new DateTime.now();
...
添加以下(在我的情况线146)行到第一个TextField:
new TextField(
++ controller: _controller,
decoration: const InputDecoration(
labelText: 'Event name',
),
style: Theme.of(context).textTheme.display1,
),
添加新FlatButton去年孩子列(行211 - 215在我的情况):
new FlatButton(
onPressed:() {
_controller.clear();
},
child: new Text('Clear'),
)
现在去的日期和时间采摘例如,在画廊,类型的东西在事件名称TextField,按清除并继续输入。一旦按下清除,该值将从TextField中删除。一旦你继续输入,价值就会降低。
我工作围绕这一问题通过始终创建一个新的TextEditingController当我想清楚的文本字段。这是有效的,但似乎并不是这样做的预期方式。
你能帮忙吗?
PS:>扑医生:
[✓]扑(Mac OS X上10.12.3 16D32,通道主)
- 颤振在/用户/ rainerwittmann /扑动/扑
- 框架修订0d402242c5(5小时前),2017年4月3日22点50分三十零秒
- 引擎版本878f0ff09d
- 工具达特版本1.23.0-dev.10.0
[✓]主机可执行兼容性
- 下载的可执行文件在主机上执行
[✓]的Android工具链 - 开发Android设备(Android SDK 25.0.2)
- Android SDK位于/ usr/local/opt/android-sdk
- Android平台-25,构建工具25.0.2
- ANDROID_HOME =在/ usr /本地的/ opt/Android的SDK
- 的Java二进制文件位于/应用/ Android的工作室。应用/内容/ JRE/JDK /内容/首页/斌/ java的
- Java版本:OpenJDK的运行时环境(建1.8.0_112释放-B05)
[✓] iOS的工具链 - 开发iOS版设备(的Xcode 8.3)
- 的Xcode在/Applications/Xcode.app/Contents/Developer
- 的Xcode 8.3,构建版本8E162
- IOS-部署1.9.0
- 的CocoaPods版本1.1.1
[✓] Android Studio中(版本2.2)
- Android Studio中在/应用/ Android的Studio.app/Contents
- 摇篮版本2.14.1
- 爪哇版本:OpenJDK Runtime Environment(build 1.8.0_112-release-b05)
[✓] IntelliJ IDEA Community Edition(版本2017.1 )
- 达特插件版本171.4006
- 颤振的插件版本12.0
[✓]连接的设备
- iPhone 7•59820DDC-6A72-475E-84C0-A2E837F62572•IOS •iOS 10.3(模拟器)
问题在https://github.com/flutter/flutter/issues/9254打开 –
现在问题已修复。多谢你们 –