0

这是错误信息

: The following NoSuchMethodError was thrown building Consumer<PageOffsetNotifier>(dirty,
: dependencies: [_InheritedProviderScope<PageOffsetNotifier>]):
: The method 'unary-' was called on null.
: Receiver: null
: Tried calling: unary-()

这是有消费者的课程

class LeopardImage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Consumer<PageOffsetNotifier>(
      builder: (context,notifier,child) => Positioned(
          width:300, left: -notifier.offset,
          child: child,
      ),
      child: Image.asset('assets/leopard.png'),
    );
  }
}

这里的PageOffsetNotifier是用ChangeNotifier扩展并传递给ChangeNotifierProvider的类

通知器将在将一页滑动到另一页时检测偏移值的变化并执行所需的功能.....

请告诉我我在消费者中遗漏了什么或做错了什么,因此,我收到了这个错误

4

2 回答 2

0

使用提供者将上下文从一个页面传递到另一个页面。那么使用它的对象总是明智的

ChangeNotifierProvider.value(
    value: object from Provider,
    child: the page you want to move
)
于 2020-10-13T17:06:33.060 回答
0

这个的父小部件将是:

ChangeNotiferProvider<ClassName>(
    
   oncreate: (context)=>ClassName(),
),

有了这个,你可以在里面使用消费者。

于 2020-10-13T17:09:55.517 回答