我有一个基本的小部件类,自从我将提供程序版本升级到5.0.0之后,它就不再工作了。
在builder: widget.builder
,我得到了这个错误:
参数类型'Widget函数(BuildContext,T,Widget)‘不能分配给参数类型'Widget函数(BuildContext,T,Widget?)
我怎么才能解决这个问题?
这是我的密码
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,
),
);
}
}
发布于 2022-02-08 07:17:24
我将代码粘贴到Android中,看起来需要更改以下内容:
从…
final Widget Function(BuildContext context, T model, Widget child) builder;
至
final Widget Function(BuildContext context, T model, Widget? child) builder;
https://stackoverflow.com/questions/71029786
复制相似问题