實現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打開 –
現在問題已修復。多謝你們 –