flutter - 当父小部件给出不同的值时如何重新初始化?
问题描述
void initState() {
var size = widget.screensize;
double step = size.width * widget.width;
屏幕大小由父小部件给出。
解决方案
didUpdateWidget
您想覆盖State
. 这将在父更新widget
您从中获取参数的属性时运行:
@override
void didUpdateWidget(oldWidget) {
var size = widget.screensize;
double step = size.width * widget.width;
//and whatever other code you want
}
如果您不想重复代码,您可以将该代码提取到方法中并在initState
和中调用它didUpdateWidget
。
推荐阅读
- javascript - 将用户输入字符串转换为函数要访问的对象
- xml - 处理 s3 存储桶中的大量压缩 xml 文件
- python - 试图用固定在点的“_”反转字符串
- php - 在另一个 html 文件中包含 html 部分
- sql - 计算用户在平台上花费的时间
- java - 如何通过在 java 中使用 LinkedList 来解决这个问题?
- python - 如何在后台使用颤振应用程序截取屏幕截图
- vuejs2 - Sortable 的 VueDraggable 无法正常工作,并将所选项目发送到初始化时的第一个
- python - DBSCAN - 查找地理空间数据(坐标)的 Eps 和 MinPts 的最佳方法
- vue.js - Vue Storefront 入门