TextField controller.clear () n'efface pas réellement le TextField

voix
1

J'ai quelques difficultés à appliquer un champ de texte. Plus précisément j'ai essayé d'utiliser un contrôleur pour effacer le champ de texte sur la méthode onPress d'un bouton. controller.clear () supprime le texte de la TextField, mais une fois que vous continuez à taper, l'ancienne valeur réapparaît.

Reproduire (en utilisant le flutter-galerie):

Modifier lib / demo / matériel / date_and_time_picker_demo.dart pour ajouter un contrôleur à l'un des TextFields:

Ajouter ce qui suit au début de la classe _DateAndTimePickerDemoState (ligne 124 dans mon cas):

class _DateAndTimePickerDemoState extends State<DateAndTimePickerDemo> {
++  TextEditingController _controller = new TextEditingController();
  DateTime _fromDate = new DateTime.now();
  ...

Ajouter la ligne suivante à la première TextField (ligne 146 dans mon cas):

new TextField(
++  controller: _controller,
  decoration: const InputDecoration(
    labelText: 'Event name',
  ),
  style: Theme.of(context).textTheme.display1,
),

Ajouter un nouveau FlatButton dernier enfant à la colonne (ligne 211-215 dans mon cas):

new FlatButton(
  onPressed: () {
    _controller.clear();
  },
  child: new Text('Clear'),
)

Maintenant, allez à l'exemple des ramasseurs de date et d'heure dans la galerie, tapez quelque chose dans le Nom de l'événement TextField, appuyez sur Effacer et continuer à taper. Une fois que vous appuyez sur Effacer, la valeur est retirée du champ de texte. La valeur moissonneurs une fois que vous continuez à taper.

J'ai travaillé autour de ce problème en créant toujours une nouvelle TextEditingController quand je voulais effacer le champ de texte. Cela fonctionne, mais ne semble pas être le moyen prévu de le faire.

Pouvez-vous aider?

PS:> médecin de flutter:

  • [✓] flutter (Mac OS X 10.12.3 16D32, maître du canal)

    • Flutter dans / Users / rainerwittmann / flutter / flutter
    • révision du cadre 0d402242c5 (il y a 5 heures), 03/04/2017 22:50:30
    • révision du moteur 878f0ff09d
    • Outils version Dart 1.23.0-dev.10.0
  • [✓] hôte Compatibilité Executable

    • exécuter les programmes téléchargés sur l'hôte
  • [✓] Android toolchain - développer pour les appareils Android (Android SDK 25.0.2)

    • SDK Android dans / usr / local / opt / android-sdk
    • Plate-forme android-25, build-outils 25.0.2
    • ANDROID_HOME = / usr / local / opt / android-sdk
    • Java binaire à: / Applications / Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • version Java: OpenJDK Runtime Environment (build 1.8.0_112-release-b05)
  • [✓] iOS toolchain - développer pour les appareils iOS (Xcode 8.3)

    • Xcode à /Applications/Xcode.app/Contents/Developer
    • Xcode 8.3, version Créer 8E162
    • ios déployer 1.9.0
    • CocoaPods la version 1.1.1
  • [✓] Android Studio (version 2.2)

    • Android Studio est dans / Applications / Studio.app/Contents Android
    • Gradle la version 2.14.1
    • version Java: OpenJDK Runtime Environment (build 1.8.0_112-release-b05)
  • [✓] IntelliJ IDEA Community Edition (version 2017,1)

    • Dart version du plugin 171.4006
    • version plug-in flutter 12.0
  • [✓] Les appareils connectés

    • iPhone 7 • 59820DDC-6A72-475E-84C0-A2E837F62572 • ios • iOS 10.3 (simulateur)
Créé 04/04/2017 à 10:47
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
1

Sonne comme un bug. Seriez - vous prêt à déposer le bug à https://github.com/flutter/flutter/issues/new ?

Créé 04/04/2017 à 19:48
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more