如何在颤振中确显示间小吃店

  介绍

如何在颤振中确显示间小吃店?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。


显示间小吃店,官方典型示例代码如下所示:

import  & # 39;包:颤振/material.dart& # 39;;      void  main(),=祝辞,runApp (MyApp ());      class  MyApp  extends  StatelessWidget  {//才能,却;能够widget  is 从而root  of  your 应用程序。   @override才能   Widget 才能构建(BuildContext 上下文),{   ,,,return  MaterialApp (   ,,,,,标题:,& # 39;Flutter  Code  Sample  for 自营Scaffold.of # 39;   ,,,,,主题:,ThemeData (   ,,,,,,,primarySwatch:, Colors.blue,   ,,,,,),   ,,,,,:,支架(   ,,,,,,,身体:,MyScaffoldBody (),   ,,,,,,,appBar:, appBar(标题:文本(& # 39;Scaffold.of 示例# 39;)),   ,,,,,),   ,,,,,颜色:,Colors.white,   ,,,);   ,,}   }//,在脚手架子组件里的制造方法可以调用Scaffold.of方法   class  MyScaffoldBody  extends  StatelessWidget  {   @override才能   Widget 才能构建(BuildContext 上下文),{   ,,,return 中心(   ,,,,,孩子:,RaisedButton (   ,,,,,,,孩子:,文本(& # 39;SHOW  A 间小吃店# 39;),   ,,,,,,,onPressed:, (), {   ,,,,,,,,,Scaffold.of(上下文).showSnackBar (   ,,,,,,,,,,,间小吃店(   ,,,,,,,,,,,,,内容:,文本(& # 39;Have  a 零食! & # 39;),   ,,,,,,,,,,,),   ,,,,,,,,,);   ,,,,,,,},   ,,,,,),   ,,,);   ,,}   }

错误示例

但是若直接在构建Scallfold的制造方法中调用会报异常:

Scaffold.of (), nbsp; with  a  context  that  does  not  contain  a 脚手架。

错误代码如下所示:

import  & # 39;包:颤振/material.dart& # 39;;      class  ScaffoldSnackBarDemo  extends  StatelessWidget  {//才能,却;能够widget  is 从而root  of  your 应用程序。   @override才能   Widget 才能构建(BuildContext 上下文),{   ,,,return 支架(   ,,,,,身体:,中心(   ,,,,,,,孩子:,RaisedButton (   ,,,,,,,,,孩子:,文本(& # 39;SHOW  A 间小吃店# 39;),   ,,,,,,,,,onPressed:, (), {   ,,,,,,,,,,,///直接在Scallfold的制造方法里使用会抛异常   ,,,,,,,,,,,Scaffold.of(上下文).showSnackBar (   ,,,,,,,,,,,,,间小吃店(   ,,,,,,,,,,,,,,,内容:,文本(& # 39;Have  a 零食! & # 39;),   ,,,,,,,,,,,,,),   ,,,,,,,,,,,);   ,,,,,,,,,},   ,,,,,,,),   ,,,,,),   ,,,,,appBar:, appBar(标题:文本(& # 39;Scaffold.of 示例# 39;)),   ,,,);   ,,}   }

解决方法一:脚手架的子组件通过Builder构建

这时候要不就是按官方的,将需要显示间小吃店的代码另外抽离一个自定义子组件,在子组件的制造方法再显示间小吃店,要不就是在支架的制造方法体对该子组件再包一层建筑,如下所示。

import  & # 39;包:颤振/material.dart& # 39;;      class  ScaffoldSnackBarDemo  extends  StatelessWidget  {//才能,却;能够widget  is 从而root  of  your 应用程序。   @override才能   Widget 才能构建(BuildContext 上下文),{   ,,,return 支架(   ,,,,,,///在子组件外再包一层建筑,让背景不共用   ,,,,,身体:,构建器(建设者:,(上下文),{   ,,,,,,,return 中心(   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何在颤振中确显示间小吃店