Flutter:有没有办法检查小部件是不是已构建[重复]

Posted

技术标签:

【中文标题】Flutter:有没有办法检查小部件是不是已构建[重复]【英文标题】:Flutter: Is there a way to check whether widget is built [duplicate]Flutter:有没有办法检查小部件是否已构建[重复] 【发布时间】:2020-04-24 22:04:21 【问题描述】:

问题是,我需要在构建小部件后调用方法,否则会出错。 所以我想知道有没有办法检查是否构建了小部件,也许是一个监听器?

【问题讨论】:

正如@Ampersanda 所说,这可能是重复的,无论如何你应该做的是使该小部件stateful 并覆盖initState 方法。 这能回答你的问题吗? Flutter: Run method on Widget build complete 【参考方案1】:

所有小部件都有一个 bool this.mounted 属性。分配 buildContext 后变为 true。

提示:仅在构建小部件后设置任何小部件的状态是一种很好的做法,我通常使用此布尔值来设置状态,一旦它为真。卸载或挂载小部件时调用 setState 是错误的。

在你的情况下,我觉得你需要同样的东西,如果 this.mounted == true 运行你的方法。

【讨论】:

以上是关于Flutter:有没有办法检查小部件是不是已构建[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Flutter,是不是可以在没有小部件构建方法的情况下在功能中使用 Firestore Stream Builder?

如果用户点击错误的 btn 或小部件,Flutter 中是不是有办法向用户显示点击位置?

如果添加到动画列表,Flutter 查找已停用小部件的祖先是不安全的

Flutter:查找已停用小部件的祖先是不安全的

通过 addPostFrameCallback 访问 Flutter Provider 时说小部件在小部件树之外,但颤振检查器显示其他情况

Flutter:错误是查找已停用小部件的祖先是不安全的