首页 > 解决方案 > TextEditingController 不会在 Web 上更改 TextEdit 的文本。可能是 EditText 的其他解决方案吗?

问题描述

当用户在 TextEdit 编辑文本,然后通过 TextEditController 输入新文本时,就会出现之前的文本。它关于 TextField 和 TextFormField。它似乎根本不存在,但我找不到它的原因。当时是不能用的。

在此处输入图像描述

但可能它有任何简单的其他解决方案吗?我只需要可用的文本编辑字段。

可能是其他小部件?任何建议将不胜感激。

会解决的,在github上有一个帖子: https ://github.com/flutter/flutter/issues/41376

但现在可能有一个简单的解决方案/任何替代品吗?

颤振--版本是:

Flutter 1.10.7-pre.23 • 通道主 • https://github.com/flutter/flutter.git 框架 • 修订版 e0247442d0(25 小时前) • 2019-09-26 02:49:41 -0400 引擎 • 修订版3713ecf107 工具 • Dart 2.6.0(构建 2.6.0-dev.2.0 c6a14f4459)

import 'dart:math';
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);
  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;
  TextEditingController myTextController = TextEditingController();
  var rnd = new Random();

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            TextField(
              controller: myTextController,
            ),
            Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.display1,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed:
//        _incrementCounter,

            () {
          setState(() {
            myTextController.text = rnd.nextInt(1000000000).toString();
          });
        },
        tooltip: 'Increment',
        child: Icon(Icons.add),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}





2019 年 1月 10 日更新:问题已在如何在一个按钮 OnPress 上插入两个操作 - 删除小部件并通过新创建它?

标签: flutterflutter-web

解决方案


推荐阅读