gpt4 book ai didi

flutter 网络 : Prevent UI state update on browser window resize

转载 作者:行者123 更新时间:2023-12-05 05:55:43 25 4
gpt4 key购买 nike

我有一个带有三个下拉按钮的 flutter 网页,我用它们来查询数据库并向用户显示一些对象,选择下拉值会按预期更新 UI 并修改 API 进行查询所需的变量。

当用户调整浏览器窗口大小时会出现问题,这会导致 UI 再次更新并且下拉值恢复为默认值。

没有报错什么的,我只想保持屏幕调整大小时的状态。

当浏览器窗口改变其大小时,有什么方法可以防止状态改变吗?

或者我只是让用户看到当屏幕尺寸改变时,所做的选择会消失并且他们必须重新选择它们?

最佳答案

执行此操作的选项很少:

选项 1:(推荐的最佳做法)您用于从数据库检索的 future 变量应该在 initState() 中。这将防止在调整大小时重新查询

   @override void initState() {
super.initState();
myFuture = _dbService.get(dropDownValues);
}

选项 2:添加一个新的 bool 变量 isIntendedRebuild,您可以在下拉列表后在 setState() 中将其设置为 true更新。然后,在您的 build() 中,添加一个 if 以防止在不打算重建的情况下更新您的对象。不要忘记在构建结束时将 isIntendedRebuild 设置为 false

   @override Widget build(BuildContext context) {
if (intendedRebuild) {
///update the values of your displayed objects , otherwise dont
}
}

关于 flutter 网络 : Prevent UI state update on browser window resize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69395131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com