【发布时间】:2021-07-16 07:48:19
【问题描述】:
我有一种情况,我在函数中使用.of(context) 来获取作用域对象数据并使用它。但是,有时会使用不提供所需上下文的上下文调用此函数,因此它无法使用并采用默认值。
我要做的是检查给定的说 MediaQuery 是否在上下文中限定并执行其他操作而不是使用默认值。
【问题讨论】:
标签: flutter flutter-layout flutter-provider
我有一种情况,我在函数中使用.of(context) 来获取作用域对象数据并使用它。但是,有时会使用不提供所需上下文的上下文调用此函数,因此它无法使用并采用默认值。
我要做的是检查给定的说 MediaQuery 是否在上下文中限定并执行其他操作而不是使用默认值。
【问题讨论】:
标签: flutter flutter-layout flutter-provider
我们可以通过这个方法找到widget或者数据在context的祖先中。
context.findAncestorWidgetOfExactType<T>() != null
例如检查媒体查询数据是否在传递的上下文中
context.findAncestorWidgetOfExactType<MediaQuery>() != null
如果此检查返回 true,则在传递的上下文中我们有 MediaQueryData 可用。
【讨论】: