【问题标题】:A value of type 'RenderObject?' can't be assigned to a variable of type 'RenderRepaintBoundary'RenderObject?' 类型的值不能分配给“RenderRepaintBoundary”类型的变量
【发布时间】:2021-08-22 10:45:40
【问题描述】:

这可能是一个简单的问题,但我找不到答案。当我使用这段代码时:

RenderRepaintBoundary boundary =
                key.currentContext.findRenderObject();

我收到错误:

'RenderObject?' 类型的值不能分配给一个变量 输入“RenderRepaintBoundary”。?

当我使用飞镖版本时很好:2.7.0,当我将其更改为2.12.0时出现问题

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    要解决错误,只需这样做:

    RenderRepaintBoundary boundary =
                key.currentContext.findRenderObject() as RenderRepaintBoundary;
    

    这样,您会将其转换为 RenderRepaintBoundary。

    【讨论】:

    • 太棒了!!非常感谢! [:
    【解决方案2】:

    为避免 The method 'findRenderObject' can't be unconditionally invoked because the receiver can be 'null'. 错误,请添加感叹号以避免 null ,如下所示:

    RenderRepaintBoundary boundary = key.currentContext!.findRenderObject() as RenderRepaintBoundary;
    

    【讨论】:

      猜你喜欢
      • 2022-08-05
      • 1970-01-01
      • 2021-07-23
      • 2021-06-17
      • 1970-01-01
      • 2022-11-28
      • 2021-08-24
      • 2021-12-29
      • 2021-08-29
      相关资源
      最近更新 更多