Flutter功能特性展示插件app_features的使用
Flutter功能特性展示插件app_features的使用
功能介绍
app_features
这个插件可以帮助你通过特征范围来组织目录结构。目前该插件还在开发中。
特性
- 特征范围路由和依赖项。
- 使用
go_router
管理路由。 - 通过路由处理对话框和底部弹出窗口。
- 处理 ScaffoldMessenger 的Snackbar。
- 支持叠加效果。
开始使用
安装插件
flutter pub add app_features
配置路由
class MyApp extends StatelessWidget {
const MyApp({super.key});
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp.router(
title: 'App Features Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
routerConfig: AppFeatures.router,
);
}
}
新增特征
要创建新的特征,你需要:
- 创建一个特征类。
- 创建一个视图页面作为特征页面。
下面以 Auth
特征为例进行说明:
步骤
- 在
features
文件夹下创建一个新的文件夹auth
。
- 创建
login_page.dart
文件作为登录视图页面。 - 创建一个新类文件,命名为
auth_feature.dart
。
import 'package:app_features/app_features.dart';
class AuthFeature extends Feature {
[@override](/user/override)
String get name => '/login';
[@override](/user/override)
List<GoRoute> get routes => [
GoRoute(
path: name,
name: name,
builder: (_, __) => const LoginPage(),
),
];
}
注册新特征到 AppFeatures
配置
void main() {
AppFeatures.config(
features: [
SplashFeature(),
AuthFeature()
],
);
runApp(const MyApp());
}
导航到 AuthFeature
你可以使用以下方法导航到 AuthFeature
:
- 推送至特征:
AppFeatures.get<AuthFeature>().push();
- 转到特征:
AppFeatures.get<AuthFeature>().go();
- 替换特征:
AppFeatures.get<AuthFeature>().replace();
示例代码
import 'package:app_features/app_features.dart';
import 'package:example/features/auth/auth_feature.dart';
import 'package:flutter/material.dart';
void main() {
AppFeatures.config(
features: [
AuthFeature(),
],
masterLayout: AppMasterLayout(),
);
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// This widget is the root of your application.
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp.router(
title: 'App Features Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
routerConfig: AppFeatures.router,
);
}
}
更多关于Flutter功能特性展示插件app_features的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复