草庐IT

statefulWidget

全部标签

Flutter:StatelessWidget 可以从其构建方法返回 StatefulWidget 吗?

我想知道如果我定义一个StatelessWidget但从它的构建方法返回一个有状态的Widget会发生什么?我试过了,一切似乎都正常,但我只想知道幕后发生了什么,这样我就可以确保在将它投入生产时不会出现任何问题。具体来说:1)我想知道父级StatelessWidget的每次重建是否都会触发它返回的StatefulWidget的重建?如果是这样,是否表示我正在有效地返回一个StatelessWidget?2)我想知道父StatelessWidget是否仍然在小部件树中,因为它只是一个包装器并且没有任何要呈现的视觉元素?3)如果我想给子StatefulWidget一个Key,我应该给父St

dart - ListView 未使用 StatefulWidget 重新加载

我正在制作一个用于学习目的的演示。在该演示中,我刚刚添加了ListView,当我点击ListTile时,有Icons.favorite我只想执行Active和Deactive。下面是我的代码。import'package:flutter/material.dart';voidmain()=>runApp(newRandomWordApp());classRandomWordAppextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontext){//TODO:implementbuildreturnnewMaterialAp

dart - 了解 StatefulWidget 在 Flutter 中的使用

我刚开始摆弄Flutter,我无法理解StatefulWidget的意义.我在教程等中看到的任何地方所做的所有这些小部件都是实例化State让它完成所有工作。例如,来自this(官方)教程:classRandomWordsextendsStatefulWidget{@overridecreateState()=>newRandomWordsState();}classRandomWordsStateextendsState{...}我想知道的是为什么它是这样构建的以及外部类的用途是什么(在我的示例中为RandomWords)。提前致谢。 最佳答案

flutter - "' _listenerAttached ': is not true"在 StatefulWidget 中布局更改后

我正在尝试根据某些TextFormField的焦点状态更改Flutter屏幕的布局。我在使用以下代码时遇到问题:当我聚焦触发布局更改的文本字段之一时,键盘隐藏了。聚焦其他文本字段时,出现错误:Thefollowingassertionwasthrownbuilding_ScrollableScope:'package:flutter/src/rendering/editable.dart':Failedassertion:line590pos14:'_listenerAttached':isnottrue.我在这里错过了什么?import'package:flutter/materia

dart - 实现 BLoC 的小部件是否一定是 StatefulWidgets?

我是BLoC模式的新手,出现了一个我在其他地方找不到的问题。使用flutter_bloc库,我可以访问BlocBuilder小部件,只要BLoC的状态发生变化,它就会重建。由于我正在处理独立于框架的状态,是否有必要将父小部件(比如包含来自BLoC的数据的卡片)声明为有状态的?我已经能够成功地将BlocBuilders实现为有状态和无状态小部件的子级,但我无法决定哪种是最佳实践,或者是否存在任何情况下有状态是必要的。如果您不需要更新BlocBuilder之外的任何内容,我想我会说无状态很好,但是如果您要添加类似RefreshIndicator的东西并且必须实现,则需要有状态逻辑(并有条件

flutter - 如何从其他 StatefulWidget 更新 StatefulWidget?

我的屏幕上有3个标签。都有不同的看法。当用户来到屏幕上时,我必须点击API并更新所有3个选项卡的View。我无法更新选项卡内的View。获取API响应后无法更新不同选项卡的状态。ErrorError->NoSuchMethodError:Themethod'updateInfo'wascalledonnull.I/flutter(7515):Receiver:nullI/flutter(7515):Triedcalling:updateInfo(Instanceof'OwnerInfo')屏幕View如下:DetailItemclassDetailItemextendsStateful

flutter - 从 StatefulWidget 导航到 StatelessWidget 运行最后一个构建器但也是第一个构建器

有没有办法防止build()被多次调用?下一段代码创建了两个页面,每个页面都有一个按钮,FirstPage上的按钮导航到SecondPage,SecondsPage上的按钮转到回到FirstPage。问题是,如果您单击FirstPage上的按钮,它会运行SecondPagebuild()但它还会运行FirstPagebuild().import'package:flutter/material.dart';voidmain()=>runApp(MyApp());classMyAppextendsStatelessWidget{@overrideWidgetbuild(BuildCont

dart - 访问 StatefulWidget 中的属性时出错

我是Flutter的新手。我正在访问状态类中的属性-“startingProduct”。该变量在AStatefulWidgetClass中定义。但我得到“startingProduct未定义”。如何修复代码?finalStringstartingProduct;//`StatefulWidget`classProductManager(this.startingProduct);//`StatefulWidget`class_products.add(widget.startingProduct);//`State`classError:Thegetter'startingProduc

flutter - StatefulWidget 默认不调用 initState 函数

感谢您的关注。我是flutter的初学者。我不知道为什么默认情况下不调用initState函数。因为print(list[0])语句没有运行。import'package:flutter/material.dart';import'main_page/main_page.dart';voidmain()=>runApp(MyApp());classMyAppextendsStatelessWidget{//Thiswidgetistherootofyourapplication.@overrideWidgetbuild(BuildContextcontext){returnMateri

flutter - 在 flutter 中更新现有 StatefulWidget 类的小部件

我想在用户按下onTapDown()和onTapUP(在GestureDetector内)时更新我的​​MaterialButton。但我无法做到这一点。我试过但没有成功。我已经在控制台中打印了一些信息来检查我的代码是否正常工作,但在没有更新我的MaterialButton小部件的情况下成功地完成了所有工作。请帮我我的一些代码如下:-(此代码用于具有可变背景图像的按钮)。Container(color:Colors.amber,alignment:Alignment.center,padding:EdgeInsets.only(top:15,bottom:10),child:Text(