首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >参数类型'Widget函数(BuildContext,T,Widget)‘不能分配给参数类型'Widget函数(BuildContext,T,Widget?)

参数类型'Widget函数(BuildContext,T,Widget)‘不能分配给参数类型'Widget函数(BuildContext,T,Widget?)
EN

Stack Overflow用户
提问于 2022-02-08 07:06:27
回答 1查看 708关注 0票数 1

我有一个基本的小部件类,自从我将提供程序版本升级到5.0.0之后,它就不再工作了。

builder: widget.builder,我得到了这个错误:

参数类型'Widget函数(BuildContext,T,Widget)‘不能分配给参数类型'Widget函数(BuildContext,T,Widget?)

我怎么才能解决这个问题?

这是我的密码

代码语言:javascript
运行
复制
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';

class BaseWidget<T extends ChangeNotifier> extends StatefulWidget {
  final Widget Function(BuildContext context, T model, Widget child) builder;
  final T model;
  final Widget child;
  final Function(T) onModelReady;

  BaseWidget({
    Key? key,
    required this.builder,
    required this.model,
    required this.child,
    required this.onModelReady,
  }) : super(key: key);

  _BaseWidgetState<T> createState() => _BaseWidgetState<T>();
}

class _BaseWidgetState<T extends ChangeNotifier> extends State<BaseWidget<T>> {
  late T model;

  @override
  void initState() {
    
    model = widget.model;

      widget.onModelReady(model);

    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider<T>(
      create: (context) => model,
      child: Consumer<T>(
        builder: widget.builder,
        child: widget.child,
      ),
    );
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-08 07:17:24

我将代码粘贴到Android中,看起来需要更改以下内容:

从…

代码语言:javascript
运行
复制
final Widget Function(BuildContext context, T model, Widget child) builder;

代码语言:javascript
运行
复制
final Widget Function(BuildContext context, T model, Widget? child) builder;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71029786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档