首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

返回类型'SliverAppBar?‘不是闭包上下文所要求的“List<Widget>”

返回类型'SliverAppBar?'不是闭包上下文所要求的"List<Widget>"

这个问题涉及到Flutter中的闭包上下文和返回类型的问题。闭包上下文是指在函数内部可以访问函数外部的变量和作用域的特性。而返回类型指的是函数返回的数据类型。

根据问题描述,返回类型'SliverAppBar?'不是闭包上下文所要求的"List<Widget>"。这意味着在某个闭包上下文中,期望返回的是一个"List<Widget>"类型的数据,但实际返回的是一个'SliverAppBar?'类型的数据。

要解决这个问题,可以尝试以下几个步骤:

  1. 检查闭包上下文的要求:首先,需要明确闭包上下文所要求的返回类型是什么。查看相关文档或代码,确认闭包上下文期望接收的是一个"List<Widget>"类型的数据。
  2. 检查返回类型:然后,检查返回的数据类型是否与闭包上下文的要求相符。在这个问题中,返回的类型是'SliverAppBar?',需要确认'SliverAppBar?'是否可以转换为"List<Widget>"类型。
  3. 调整返回类型:如果'SliverAppBar?'不能直接转换为"List<Widget>"类型,那么需要对返回类型进行调整。可以尝试将'SliverAppBar?'包装在一个列表中,以满足闭包上下文的要求。例如,可以将返回语句修改为[SliverAppBar()],这样返回的就是一个包含'SliverAppBar'的列表。

综上所述,要解决返回类型'SliverAppBar?'不是闭包上下文所要求的"List<Widget>"的问题,需要检查闭包上下文的要求和返回类型,并进行相应的调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

flutter 起步

继承也有和Java不一样地方:Flutter中子类可以访问父类中所有变量和方法,因为Flutter中没有公有、私有的区别上下文对象是整个APP Widget树结构中Widget话柄,每个Wideget...所以这意味着StatelessWidget.build方法中context和函数内部部件Widegtcontext不是同一个上下文。所以它们两个不同上下文能够调用方法是有区别的。...(home还是位于一级)传入是上面routeskey跳转是对应Widget(如果该Widget有Scaffold.AppBar,并不做任何修改,左上角有返回键)5. onGenerateRoute...body - 当前界面显示主要内容 Widget。floatingActionButton - Material 设计中所定义 FAB,界面的主要功能按钮。...Scaffold 有下面几个主要属性:appBar - 显示在界面顶部一个 AppBar。body - 当前界面显示主要内容 Widget

4.5K20
  • Flutter入门指北(Part 8)之Sliver 组件及NestedScrollView

    首先看下 SliverAppBar 源码吧,其实和 AppBar 参数差不多,只是多了一些比较特殊属性 const SliverAppBar({ Key key, this.leading...// 当上滑到一定比例,会自动把 AppBar 收缩(不知道是不是 bug,当 AppBar 下面的部件没有被 AppBar 覆盖时候,不会自动收缩) // 当下滑到一定比例,会自动把...糟透了翻译 X 2:最常用情况,就是在其 headerSliverBuilder 中使用携带 TabBar SliverAppBar(就是使用 SliverAppBar bottom 属性添加...,innerBoxIsScrolled 主要用来控制 SliverAppBar forceElevated 属性,当内部内容滚动时,显示 SliverAppbar 阴影,主要用来提醒内部内容低于..._absorberHandle; } 请注意到中间注释 糟透了翻译 X 4:这个方法返回值对于 SliverOverlapAbsorber 和 SliverOverlapInjector 部件是非常重要参数

    2.2K30

    UITableView在Flutter中是什么?

    不过,这种创建方式要求提前将所有子Widget一次性创建好,而不是等到他们真正在屏幕上显示时候才会创建,所以有一个很明显缺点,就是性能不好。因此,这种方式仅适用于列表中含有少量元素场景。...具体示例代码如下所示: CustomScrollView( slivers: [ SliverAppBar(//SliverAppBar 作为头图控件...在Flutter中,因为Widget不是渲染到屏幕最终视觉元素(RenderObject才是),所以我们无法像原生iOS或Android一样,向持有的Widget对象获取或设置最终渲染相关视觉信息...方法返回到列表顶部。...与ScrollController不同是,NotificationListener是一个Widget,为了监听滚动类型事件,我们需要将NotificationListener添加为ListView父容器

    5.6K10

    【Flutter 专题】52 图解可折叠状态栏

    顶部状态栏在日常中是必不可少,今天和尚尝试一下可折叠状态栏使用; 和尚以前在学习滑动冲突时曾用过 Sliver 系列 Widget,和尚这次尝试用 SliverAppBar...常见返回按钮; automaticallyImplyLeading:配合 leading 使用,若未设置 leading 且设为 false 时,标题位置整体向左移动,占据 leading 原本位置...title:顶部标题 Widget 常见是文字标题等; centerTitle:true 为标题 Widget 居中,false 默认居左; actions:顶部右侧菜单组,可设置多个菜单按钮等;...bottom:添加状态栏底部小部件,需要是 PreferredSizeWidget 类型 Widget; bottom: TabBar(tabs: [ Tab(icon: Icon(Icons.border_left...,对折叠栏样式要求也不相同,接下来是和尚研究重点,自定义折叠栏样式; 源码分析 const SliverPersistentHeader({ Key key, @required this.delegate

    1.3K51

    Flutter

    :判断新Widget和老Widget是否是同一个类型: 如果不是同一个类型,那就把Widget、Element、RenderObject分别从它们树(包括它们子树)上移除,然后创建新对象; 如果是一个类型...四、Dart 基础 未初始化变量值都是 null,所有类型都是对象类型,都继承自顶层类型 Object Dart 内置了一些基本类型,如 num、bool、String、List 和 Map Dart...这种用默认值兜底赋值语句在 Dart 中我们可以用 a ??= value 表示。 ?? 运算符:如果 a 不为 null,返回 a 值,否则返回 b。...我们需要在这个函数中,根据父 Widget 传递过来初始化配置数据,以及 State 的当前状态,创建一个 Widget 然后返回。...ListView控件 ListView 构造函数 ListView.builder,则适用于子 Widget 比较多场景。其中,itemExtent 并不是一个必填参数。

    1.9K40

    Flutter 基础知识点总结

    随着前不久Flutter 1.7正式版发布,Flutter今年迎来了迭代小高潮,很多公司也纷纷布局Flutter技术栈,并且很多大公司招聘时候也明着写明对于Flutter技术要求。...//查询元素xxx,返回下标,不存在返回-1 list.sort(); //排序 list.subList(start,end);//获取从子列表 list.forEach(); //遍历list Map...: 返回类型 方法名(参数1,参数2,....){ 方法体… return 返回值 } 同时,在Dart语言中,方法也是对象,并且有具体类型Function;并且,返回类型、参数类型都可省略;...(list2, (str){ return str * 3;}); 包是定义在其他方法内部,能够访问外部方法内局部变量对象,包具有如下特性: 包是一个方法(对象); 包定义在其它方法内部...; 包能够访问外部方法内局部变量,并持有其状态 //该方法返回一个包 a(){ int count = 0; return (){ print(count++);

    5.2K10

    Flutter 组件集录 | FlexibleSpaceBar 组件是怎么炼成

    前言: 问题引入 FlexibleSpaceBar 是一个和 SliverAppBar 共生组件,一般不单独使用。...探索: FlexibleSpaceBar 组件是如何感知滑动数据? 从上面效果中可以看出,SliverAppBar 滑动距离和剩余空间比值,会作为缩放数值依据。...当 t 为 0 时,表示完全展开状态;t 为 1 时,表示 SliverAppBar 剩余空间完全收起: ---- 4....首先,定义一个 FractionalBuilder 函数类型,用于回调 t 数值来返回组件 Widget; 然后在 DiyFlexibleSpaceBar 中定义 titleIconBuilder 成员...这时就是考验一位编程者能力时机了,能看懂源码,并能以此进行改进,来完成需求就显得极为重要。希望大家可以在日常开发中 多做推敲 ,而不是遇事就 伸手去要。 那本文就到这里,谢谢观看 ~

    85630

    Effective Modern C++翻译(6)-条款5:auto比显示类型声明要更好

    这一章包括了auto细则 条款5:auto比显示类型声明要更好 这是一个看起来非常简单例子 int x; 等一下,该死,我忘记初始化x了,所以它值是不确定,也许它被初始化为0了,不过这要取决于它下文...&, const std::unique_ptr&)> func; 因为lambda表达式产生可调用对象,包也可以通过std::function对象表示,这意味着我们可以声明新版本...所以使用auto而不是显示类型声明就有很多理由了,是的,auto也并不完美,auto声明变量类型会从相应初始化式中推导出来,一些推导结果可能不是期待或想要,在某些情况下,你需要了解条款...事实是显示类型声明会引入一些微小错误,此外使用auto初始化变量类型会随着初始化式类型变化自动发生变化,这同时意味着在代码利用auto,会让重构变简单,例如,如果一个函数最初返回值是int...,但是后来你觉得long更好,如果你使用auto储存函数返回类型的话,代码会自动下一次编译时候自动更新,但是你使用了显示类型声明int,你可能需要修改每一个函数调用地方。

    888100

    Flutter 实践 MVVM

    Stream & Sink Stream和Sink是Dart中两个类型,原理不是本文重点,我们可以先这样简单去理解Stream和Sink: [Stream&Sink示意图] Sink就是水槽,你可以往里面注水...Dart提供了StreamController类,通过这个类可以很好将Sink和Stream对应起来,操作也很方便,下文实例中可以看具体用法。...StreamBuilder也是一个Widget,其作用就是监听指定Stream,一旦这个Stream中有数据来了,就调用builder中包,用新数据,重新构建这个widget。...注释(2)处是对外暴露Sink属性,网络请求回来后通过这里塞数据到流里。 注释(3)处是Stream,这里会对传入数据做处理,然后返回给实际需要数据。...,StreamBuilder会监听到这个变化,然后重新通过builder参数中传入包来重新构建这个widget

    10K70

    Go两周入门系列-函数

    返回多个值函数 go语言函数允许返回多个值 例子: package main import "fmt" // 定义swap函数,接受x,y两个参数,swap函数作用是交换两个参数值 // 连续多个参数类型一致的话...,可以用逗号分隔变量,仅在最后一个变量书写数据类型 // 返回两个string类型值 func swap(x, y string) (string, string) { // 返回多个值,用逗号分隔...5.包(匿名函数) 没有函数名函数,我们叫做匿名函数,通常也叫做包,它拥有可以引用定义包上下文环境变量特性。...简单包例子: // 定义一个包,并将包函数赋值给变量f f := func() { fmt.Println("我是包函数") } // 通过变量f调用包函数 f(); 包引用上下文环境变量例子...(); f(); f(); } 输出: count= 1 count= 2 count= 3 上下文环境,指就是定义包函数函数内局部作用域。

    13730

    Flutter 异常捕获详解

    但 与 Swift 不同是,Dart 程序不强制要求我们必须处理异常。 这是因为,Dart 采用事件循环机制来运行任务,所以各个任务运行状态是互相独立。...Flutter 为这两种异常提供了不同捕获方式。 App 异常捕获方式 App 异常,就是应用代码异常,通常由未处理应用层其他模块抛出异常引起。...可以看到,在上面的代码中,我们是无法使用 try-catch 去捕获一个异步调用抛出异常。...需要注意是,ErrorWidget.builder 方法提供了一个参数 details 用于表示当前错误上下文,为避免用户直接看到错误信息,这里我们并没有将它展示到界面上。...,然后上报,如果执行该包中代码发生异常,是无法捕获: 代码及注释如下: main(List args) { // 初始化Exception 捕获配置 ExceptionReportUtil.initExceptionCatchConfig

    8K20

    JavaScript包与箭头函数

    包是JavaScript中最强大特性之一 JavaScript允许函数嵌套 内部函数可以访问定义在外部函数中所有变量和函数以及外部函数能访问所有变量和函数 外部函数不能够访问定义在内部函数中变量和函数...} } } 包中神奇变量this是非常诡异。 使用它必须十分小心,因为this指代什么完全取决于函数在何处被调用,而不是在何处被定义。...称其为类数组对象是说它有一个索引编号和Length属性 它并不拥有全部Array对象操作方法 函数参数 两个新类型参数: 默认参数(default parameters) 剩余参数(rest...值(在严格模式下,一个新对象在构造函数里是未定义,通过上下文对象调用函数被称为“对象方法”等) function Person() { // The Person() constructor...self.age++; }, 1000); } 另外,创建一个约束函数(bound function)可以使得this值被正确传递给growUp()函数 箭头功能捕捉包上下文this值,所以下面的代码工作正常

    87120
    领券