草庐IT

android - 子部件的 Flutter setState 无需重建父部件

我有一个父级包含一个listView和一个floatingActionButton我想在用户开始滚动时隐藏floatingActionButton我已经管理在父小部件中执行此操作,但这需要每次都重建列表。我已将floatingActionButton移动到一个单独的类中,这样我就可以更新状态并仅重建该小部件我遇到的问题是从ScrollController中传递数据子类的父类这在通过导航完成时很简单,但在不重建父类的情况下接缝但更尴尬! 最佳答案 当父级中的值发生变化时,只重建一个子小部件的一个好方法是使用ValueNotifier。

Flutter setState重建整页效果

我想知道setState()在Flutter中是如何工作的。我有一个包含ListView和播放按钮的页面。当我按下按钮时,我调用setState()来更改按钮的图标。这会触发ListView重建它是项目的整个列表。我是否应该将我的按钮包装在一个新的StatefulWidget中,以便重建按钮不会重建整个页面?或者Flutter是否足够聪明,可以弄清楚真正发生了什么变化并只重建这些小部件?如果字母是这样,它是如何工作的?我确定正在调用我的列表项的构建方法... 最佳答案 您应该对Flutter中的响应式编程和Streams了解更多。响

Flutter setState重建整页效果

我想知道setState()在Flutter中是如何工作的。我有一个包含ListView和播放按钮的页面。当我按下按钮时,我调用setState()来更改按钮的图标。这会触发ListView重建它是项目的整个列表。我是否应该将我的按钮包装在一个新的StatefulWidget中,以便重建按钮不会重建整个页面?或者Flutter是否足够聪明,可以弄清楚真正发生了什么变化并只重建这些小部件?如果字母是这样,它是如何工作的?我确定正在调用我的列表项的构建方法... 最佳答案 您应该对Flutter中的响应式编程和Streams了解更多。响

dart - 单击 TextField 小部件时 Flutter 小部件重建

我确定这是一个菜鸟错误,但我似乎无法弄清楚这个错误。在下面的应用程序中,当单击第二个路由中的文本字段时,键盘打开并立即关闭。经过仔细调查,似乎小部件在获得焦点时正在重建,导致路由重置,使用户无法输入文本。当我从表单中删除“键”时,问题就不会发生。这不是长期修复,因为我需要“key”才能验证表单。有什么想法吗?import'package:flutter/material.dart';voidmain()=>runApp(MyApp());classMyAppextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontext){

dart - 单击 TextField 小部件时 Flutter 小部件重建

我确定这是一个菜鸟错误,但我似乎无法弄清楚这个错误。在下面的应用程序中,当单击第二个路由中的文本字段时,键盘打开并立即关闭。经过仔细调查,似乎小部件在获得焦点时正在重建,导致路由重置,使用户无法输入文本。当我从表单中删除“键”时,问题就不会发生。这不是长期修复,因为我需要“key”才能验证表单。有什么想法吗?import'package:flutter/material.dart';voidmain()=>runApp(MyApp());classMyAppextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontext){

flutter - 当键盘弹出或关闭时,streambuilder 一次又一次地重建

这里我遇到了一个问题。我有一列带有流生成器和文本字段的小部件。当我尝试输入一些文本时,键盘弹出,然后流生成器再次重建,或者当键盘关闭时,流生成器再次重建。当我构建聊天屏幕时,我不想再次重建流构建器,因为它会增加读取次数。任何有帮助的建议。 最佳答案 Fluttercallsthebuild()methodeverytimeitwantstochangeanythingintheview,andthishappenssurprisinglyoften.您可以将流传递给无状态小部件MyApp({Keykey,this.stream}):

flutter - 当键盘弹出或关闭时,streambuilder 一次又一次地重建

这里我遇到了一个问题。我有一列带有流生成器和文本字段的小部件。当我尝试输入一些文本时,键盘弹出,然后流生成器再次重建,或者当键盘关闭时,流生成器再次重建。当我构建聊天屏幕时,我不想再次重建流构建器,因为它会增加读取次数。任何有帮助的建议。 最佳答案 Fluttercallsthebuild()methodeverytimeitwantstochangeanythingintheview,andthishappenssurprisinglyoften.您可以将流传递给无状态小部件MyApp({Keykey,this.stream}):

android - 重建 flutter 工具的替代方法?

我最近问了thisquestionaboutFlutter.目前,答案现在给出了不同的错误,正如答案所述,我可能想看看thissegmentofthecode.所以,我决定forkrepo并开始我的调查。我目前只想在该部分打印出几个值来弄清楚发生了什么。看看程序认为我有什么,它认为我没有什么。我添加了几个printTrace语句,现在我想重建项目。我去了CONTRIBUTING.md并发现了这个:Thefluttertoolsitselfisbuiltwhenyourunflutterforthefirsttimeandeachtimeyourunflutterupgrade.Ifyo

android - 重建 flutter 工具的替代方法?

我最近问了thisquestionaboutFlutter.目前,答案现在给出了不同的错误,正如答案所述,我可能想看看thissegmentofthecode.所以,我决定forkrepo并开始我的调查。我目前只想在该部分打印出几个值来弄清楚发生了什么。看看程序认为我有什么,它认为我没有什么。我添加了几个printTrace语句,现在我想重建项目。我去了CONTRIBUTING.md并发现了这个:Thefluttertoolsitselfisbuiltwhenyourunflutterforthefirsttimeandeachtimeyourunflutterupgrade.Ifyo

dart - 重建父级时调用子级 init 方法 - flutter

据我了解和flutter的工作机制,有状态的小部件方法仅在第一次在小部件树中构建时被调用一次,并且每次当其状态更改或父级重建时调用构建方法方法。bottomNavigationBar:BottomNavigationBar(items:[BottomNavigationBarItem(icon:newIcon(Icons.home,),title:newText("HOME",style:newTextStyle(fontSize:11.0),),),BottomNavigationBarItem(icon:newIcon(Icons.message,),title:newText("