flutter didUpdateWidget视频列表刷新视频

  @override
  void didUpdateWidget(covariant CircleVideoItem oldWidget) {
  //根据视频传值来判断视频是否需要进行更新组件
    if (oldWidget.url != widget.url) {
      // url变化时重新执行一次url加载
         _urlInitChange();
    }
    super.didUpdateWidget(oldWidget);
  }
//视频初始化方法
  void _urlInitChange() async {
    if (widget.url == null || widget.url == '') return;
    if (_videoController != null) {
      /// 如果控制器存在,清理掉重新创建
      _videoController.removeListener(_videoListener);
      _videoController.pause();
      _videoController.dispose();
    }

    _videoController = VideoPlayerController.network(widget.url)
      ..initialize().then((data) {
        setState(() {});
      });
  }

你可能感兴趣的:(flutter didUpdateWidget视频列表刷新视频)