【问题标题】:type 'RenderSliverList' is not a subtype of type 'RenderBox' in type cast - Flutter类型“RenderSliv​​erList”不是类型转换中“RenderBox”类型的子类型 - Flutter
【发布时间】:2023-04-07 01:04:01
【问题描述】:

大家好,我想实现flutter popover插件,我只是复制了代码并粘贴到我的项目中,如popover插件链接中给出的那样

https://pub.dev/packages/popover

但是当我单击弹出功能时出现此错误

类型“RenderSliv​​erList”不是类型转换中“RenderBox”类型的子类型

在调试模式下显示错误行是

final box = widget.context.findRenderObject() as RenderBox;

【问题讨论】:

    标签: flutter dart flutter-dependencies


    【解决方案1】:

    您正在使用RenderSliverListcontext(肯定是SliverListDelegate 上下文)。

    问题是这个上下文一个滚动视图中,所以它的渲染对象不是RenderBox,而是RenderSliver

    这很重要,因为它们不使用相同的约束,而这正是您想要的。

    解决方案是使用不同的上下文,例如使用您的 build 方法之一,它应该可以工作。

    【讨论】:

    • 我不明白如何使用不同的上下文,你能举个简短的例子吗?我在这里使用了相同的代码pub.dev/packages/popover
    • 如果你分享你的代码部分不起作用我可以帮助你,否则我怕我没有时间去挖掘一个包源代码
    猜你喜欢
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-24
    • 2020-03-19
    • 2022-07-06
    • 2019-05-28
    • 1970-01-01
    相关资源
    最近更新 更多