【问题标题】:Updating changes after Hot reload in flutter?在颤动中热重载后更新更改?
【发布时间】:2019-11-10 23:05:09
【问题描述】:

我正在重写我的代码,因为我必须看到一些更改但是当我更改我的代码并“热重载”时,它不会反映在模拟器中。

每次我需要完全重启应用程序

import 'package:flutter/material.dart';

Dialog leadDialog = Dialog(
  child: Container(
      color: Colors.white,
      child: Column(
        mainAxisAlignment: MainAxisAlignment.start,
        children: <Widget>[
          Padding(
            padding: EdgeInsets.all(15.0),
            child: Text(
              'Leaderboard',
              style: TextStyle(color: Colors.black, fontSize: 22.0),
            ),
          ),
          Divider(color: Colors.redAccent),
          Row(crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[
            Padding(
              padding: EdgeInsets.all(15.0),
              child: CircleAvatar(
                  radius: 30.0,
                  backgroundImage: ExactAssetImage('assets/cat.jpg')),
            ),
            Text('Neha'),
            RaisedButton(
              padding: EdgeInsets.symmetric(horizontal: 30.0, vertical: 15.0),
              textColor: Colors.black,
              child: Text(
                '546',
                style: TextStyle(),
              ),
              shape: RoundedRectangleBorder(
                  borderRadius: BorderRadius.circular(10.0)),
            ),
          ])
        ],
      )),
);

预期:在热重载时,我应该能够看到更改。

【问题讨论】:

标签: android flutter dart


【解决方案1】:

如果您将小部件存储在 WidgetLifeCycle 之外的变量中,它可能不会呈现每个状态更改。 也许让你的小部件成为一个构建器方法,每次它的父级渲染时都会渲染。

另请参阅FlutterByExample - Widget LifecycleFlutter Docs Widget Intro

WidgetBuilder leadDialog = (BuildContext context) => Dialog();

【讨论】:

  • onPressed: () { showDialog( context: context, builder: (BuildContext context) => leadDialog); },
  • 以上是我为调用 Dialog 小部件而编写的代码,我收到此错误:lib/pages/main.dart:166:62: Error: A value of type 'Widget Function(BuildContext )' 不能分配给“Widget”类型的变量。
  • “leadDialog”在哪里使用?尝试将它放入小部件的 render() 方法中。我上面提供的是一个 WidgetBuilder,您还必须使用“leadDialog()”在渲染中使用它。
【解决方案2】:

我遇到了同样的问题。以下步骤对我有用

  • 停止应用
  • 从设备/模拟器卸载它
  • 运行flutter clean
  • 重新运行应用程序

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-05
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-04
    • 2018-07-12
    相关资源
    最近更新 更多