【问题标题】:double click in TextFormField双击 TextFormField
【发布时间】:2020-05-31 12:53:38
【问题描述】:

我使用颤振 1.17.0 但是当我在 TextFormField 中双击双击时,一件事并不好 将文本粘贴到 TextFormField 我收到此错误

�[38;5;248m════════ 小部件库捕获的异常 ═══════════════════════════════════�[39;49m×[38;5;244m以下 断言被抛出建筑 _OverlayEntryWidget-[LabeledGlobalKey<_overlayentrywidgetstate>#8f5d7](脏, 状态:_OverlayEntryWidgetState#f2029):�[39;49m 无 MediaQuery 小部件 找到了。

�[38;5;244m_OverlayEntryWidget 小部件需要 MediaQuery 小部件 祖先。�[39;49m �[38;5;244m 找不到的特定小部件 MediaQuery 祖先是: _OverlayEntryWidget-[LabeledGlobalKey<_overlayentrywidgetstate>#8f5d7]�[39;49m �[38;5;244mdirty�[39;49m �[38;5;244mstate: _OverlayEntryWidgetState#f2029�[39;49m�[38;5;244m受影响小部件的所有权链为: "_OverlayEntryWidget-[LabeledGlobalKey<_overlayentrywidgetstate>#8f5d7] ← _Theatre ← Overlay ← Directionality ← FlutterEasyLoading ← EasyLocalizationProvider ← ScopedModelDescendant ← _InheritedModel ← AnimatedBuilder ← ScopedModel ← ⋯"�[39;49m

�[38;5;248m 通常,MediaQuery 小部件由 应用程序小部件顶部的 MaterialApp 或 WidgetsApp 小部件 树。�[39;49m

�[38;5;244m相关的导致错误的小部件是�[39;49m �[38;5;248mFlutterEasyLoading�[39;49m �[38;5;244m时异常 被抛出,这是堆栈。[39;49m „[38;5;244m#0 debugCheckHasMediaQuery.�[39;49m �[38;5;244m#1 debugCheckHasMediaQuery�[39;49m �[38;5;244m#2 _MaterialTextSelectionControls.buildToolbar�[39;49m�[38;5;244m#3 TextSelectionOverlay._buildToolbar�[39;49m�[38;5;244m#4 _OverlayEntryWidgetState.build.[39;49m =[38;5;244m....[39;49m =[38;5;248m════════════════════ ══════════════════════════════════════════════════ ══════════�[39;49m

我的 main.dart

void main() {
runApp(EasyLocalization(child: MyApp()));
}

class MyApp extends StatefulWidget {
@override
State createState() {
return _MyAppState();
}
}

class _MyAppState extends State {
final MainModel _model = MainModel();

@override
void initState() {
SystemChrome.setPreferredOrientations([

]);
_model.initAppDirectory();
super.initState();
}

changeStatusBar() async{
await FlutterStatusbarcolor.setStatusBarColor(MySetting.mainColor);
FlutterStatusbarcolor.setStatusBarWhiteForeground(true);
if(Theme.of(context).platform == TargetPlatform.android){
await FlutterStatusbarcolor.setNavigationBarColor(Colors.black38);
}
}

@override
Widget build(BuildContext context) {
changeStatusBar();
var data = EasyLocalizationProvider.of(context).data;

return ScopedModel<MainModel>(
    model: _model,
    child: ScopedModelDescendant<MainModel>(
      rebuildOnChange: false,
        builder: (BuildContext context, Widget child, MainModel model) {
      return EasyLocalizationProvider(
        data: data,
        child: FlutterEasyLoading(
          child: MaterialApp(
            builder: (BuildContext context, Widget child) {
              return MediaQuery(
              data: MediaQuery.of(context).copyWith(textScaleFactor: 1.0),
              child: child,
              );
            },
            debugShowCheckedModeBanner: false,
            title: 'my app',              
            localizationsDelegates: [
              GlobalCupertinoLocalizations.delegate,
              DefaultCupertinoLocalizations.delegate,
              GlobalMaterialLocalizations.delegate,
              GlobalWidgetsLocalizations.delegate,
              EasylocaLizationDelegate(
                  locale: Locale('ar', 'DZ'), path: 'assets/languages'),
            ],
            supportedLocales: [Locale('ar', 'DZ'), Locale('en', 'US')],
            locale: data.locale,
            theme: ThemeData(
              primarySwatch: MySetting.mainColor,
            ),
            home: SplashScreen( _model),
            },
          ),
        ),
      );
    }));
}
}

请帮忙解决 因为我的应用程序被停止以解决这个问题 并且仍然出现红屏错误 而且我不知道错误在哪里

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    我有同样的错误。就我而言,错误是 FlutterEasyLoading 库。

    删除该库后,双击 TextFormField 开始正常工作。

    希望对你有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-02
      • 1970-01-01
      • 2020-01-25
      • 2019-09-02
      • 2019-11-13
      • 2017-07-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多