【问题标题】:Flutter: Is There a way to identify if the context has the required provider or if context has MediaQueryFlutter:是否有办法确定上下文是否具有所需的提供者或上下文是否具有 MediaQuery
【发布时间】:2021-07-16 07:48:19
【问题描述】:

我有一种情况,我在函数中使用.of(context) 来获取作用域对象数据并使用它。但是,有时会使用不提供所需上下文的上下文调用此函数,因此它无法使用并采用默认值。

我要做的是检查给定的说 MediaQuery 是否在上下文中限定并执行其他操作而不是使用默认值。

【问题讨论】:

    标签: flutter flutter-layout flutter-provider


    【解决方案1】:

    我们可以通过这个方法找到widget或者数据在context的祖先中。

    context.findAncestorWidgetOfExactType<T>() != null 
    

    例如检查媒体查询数据是否在传递的上下文中 context.findAncestorWidgetOfExactType&lt;MediaQuery&gt;() != null

    如果此检查返回 true,则在传递的上下文中我们有 MediaQueryData 可用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多