其他文件中的单独小部件颤动
Posted
技术标签:
【中文标题】其他文件中的单独小部件颤动【英文标题】:Separate widgets in other files flutter 【发布时间】:2020-06-24 07:19:37 【问题描述】:我想让我的代码更整洁,但是当我将经常在 1 个文件中使用的小部件分开时遇到了问题
这是我的主要小部件
import 'package:a_tiket/Helpers/widget_helper.dart';
class LoginPage extends StatefulWidget
@override
_LoginPageState createState() => _LoginPageState();
class _LoginPageState extends State<LoginPage>
bool _isLoading = false;
var _message = '';
var _hasError = false;
@override
Widget build(BuildContext context)
return
_isLoading ?
_loadingWidget(context)
:
Scaffold(
body: SingleChildScrollView(
child: Container(
),
],
),
)
)
)
;
这是我的 widget_helper.dart
Widget _loadingWidget (BuildContext context)
return Scaffold(
body: Center(
child: CircularProgressIndicator(
backgroundColor: ACCENT_COLOR,
valueColor: new AlwaysStoppedAnimation<Color>(PRIMARY_COLOR),
),
),
);
问题是我遇到了一些错误。我已经为 widget_helper 添加了导入,但仍然出现错误
lib/Pages/loginPage.dart:193:7: Error: The method '_loadingWidget' isn't defined for the class '_LoginPageState'.
我该怎么办?我只是想让代码更整洁
【问题讨论】:
【参考方案1】:请删除underline
从
_loadingWidget(context)
到
loadingWidget(context)
【讨论】:
下划线表示私有不公开 私人看不到 如何传递变量?【参考方案2】:您的代码存在一些问题:
对于这样一小段代码,例如显示 CircularProgressIndicator 你不应该把一个方法放在一个单独的 文件。你不是让你的代码“更整洁”,而是让它变得更难 阅读。如果您真的想将它放在一个单独的文件中,请创建一个无状态小部件来显示您想要的代码。但话又说回来,你只是在使用 CircularProgressIndicator。您没有保存任何代码,只是创建了更多不必要的代码。 您已经有一个 Scaffold,您将在其中显示 CircularProgressIndicator。你不需要另一个。它什么也没做。 虽然 Dart 使用 camelCase 命名变量,但文件名使用 snake_case。命名文件时尝试使用它。【讨论】:
我需要在任何地方调用 isloading。那么,我应该为更整洁的代码做些什么呢?我记得图书馆的 CircularProgressIndicator以上是关于其他文件中的单独小部件颤动的主要内容,如果未能解决你的问题,请参考以下文章