![](/img/trans.png)
[英]The argument type 'Widget Function(BuildContext)' can't be assigned to the parameter type 'Widget Function(BuildContext, Widget)'?
[英]The argument type 'Widget Function(BuildContext, T, Widget)' can't be assigned to the parameter type 'Widget Function(BuildContext, T, Widget?)
我有一個基本小部件 class,自從我將提供程序版本升級到 5.0.0 后它就不再工作了。
在builder: widget.builder
我收到這個錯誤:
無法將參數類型“Widget Function(BuildContext, T, Widget)”分配給參數類型“Widget Function(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,
),
);
}
}
我將代碼粘貼到 Android studio 中,看起來需要更改以下內容:
從
final Widget Function(BuildContext context, T model, Widget child) builder;
到
final Widget Function(BuildContext context, T model, Widget? child) builder;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.