簡體   English   中英

無法將參數類型“Widget Function(BuildContext, T, Widget)”分配給參數類型“Widget Function(BuildContext, T, 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM