Flutter自定义构建插件tiede_builder_pkg的使用
Flutter 自定义构建插件 tiede_builder_pkg
的使用
特性
待办事项:此插件用于无渲染整个界面的UI构建器,仅重新渲染需要更改的部件。
开始使用
在 pubspec.yaml
文件中添加依赖
- 打开
pubspec.yaml
文件。 - 将以下依赖项添加到你的项目中:
dependencies:
tiede_builder_pkg: ^1.0.1
获取依赖项
在终端中运行以下命令以获取所有依赖项:
flutter pub get
使用方法
消费测试 API
在 Cidades
类中消费 API 以便在数据发生变化时进行通知。
import "dart:convert";
import "package:http/http.dart" as http;
class ApiConsumer {
Future<List> get(String uf) async {
try{
var response = await http.get(Uri.parse('https://brasilapi.com.br/api/ibge/municipios/v1/$uf?providers=dados-abertos-br,gov,wikipedia'));
return jsonDecode(response.body);
} catch(e) {
return [];
}
}
}
使用 TiedeNotify
类来通知变量变化
TiedeNotify
类用于在变量发生改变时通知并重建相关部件。
import 'package:tiede_builder_pkg/tiede_builder_pkg.dart';
import 'api_consumer.dart';
class Cidades extends TiedeNotify{
List cidades = [];
String uf = 'MG';
getCidades({String uf = 'MG'}) async {
this.uf = uf;
cidades.clear();
notify(isLoading: true); // --------> 通知更改以重建部件并激活加载指示器
ApiConsumer().get(uf).then((value) {
cidades = value;
print('get ok');
notify(); // --------> 通知更改以在数据修改后重建部件
});
}
}
使用 TiedeBuilder
类来重建需要变更的部件
TiedeBuilder
类用于根据状态重建特定的部件。
import 'package:flutter/material.dart';
import 'package:tiede_builder_pkg/tiede_builder_pkg.dart';
import 'cidades_controller.dart';
class HomePage extends StatelessWidget {
HomePage({super.key});
Cidades cidades = Cidades();
@override
Widget build(BuildContext context) {
print('build home page');
return Scaffold(
appBar: AppBar(
title: const Text('Cidades'),
),
body: Column(
children: [
Padding(
padding: const EdgeInsets.all(20.0),
child: TextField(
decoration: const InputDecoration(
hintText: 'UF',
border: OutlineInputBorder(),
),
onChanged: (value) {
if(value.toUpperCase().length == 2) {
cidades.getCidades(uf: value.toUpperCase());
}
}
),
),
Flexible(
child: Padding(
padding: const EdgeInsets.all(20.0),
child: TiedeBuilder(
notify: cidades,
builder: (context)=>
cidades.isLoading
? const CircularProgressIndicator()
: ListView(
children: cidades.cidades.map((e) => Text('${e['nome']} - ${cidades.uf}')).toList(),
),
),
),
),
TiedeBuilder(
notify: cidades,
builder: (context)=>
Padding(
padding: const EdgeInsets.all(12.0),
child: Text('Total de cidades: ${cidades.cidades.length}'),
),
),
],
),
);
}
}
更多关于Flutter自定义构建插件tiede_builder_pkg的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter自定义构建插件tiede_builder_pkg的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
tiede_builder_pkg
是一个自定义的 Flutter 插件,用于在 Flutter 项目中自动化生成代码或执行其他构建任务。使用此类插件可以显著提高开发效率,减少重复代码的编写。
以下是如何在 Flutter 项目中使用 tiede_builder_pkg
的步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 tiede_builder_pkg
作为开发依赖。
dev_dependencies:
tiede_builder_pkg: ^version_number
将 ^version_number
替换为 tiede_builder_pkg
的最新版本号。
2. 创建构建配置文件
在项目根目录下创建一个 build.yaml
文件。这个文件用于配置代码生成器。
targets:
$default:
builders:
tiede_builder_pkg|my_builder:
enabled: true
这里的 my_builder
是 tiede_builder_pkg
提供的默认构建器,你可以根据插件的文档进行更详细的配置。
3. 使用生成器
在代码中使用特定的注解或标记来指示生成器生成代码。例如:
import 'package:tiede_builder_pkg/tiede_builder_pkg.dart';
@MyAnnotation()
class MyClass {
String name;
int age;
}
4. 运行代码生成
运行以下命令来执行代码生成:
flutter pub run build_runner build
这将执行 tiede_builder_pkg
中的代码生成器,并根据你的配置生成相应的代码。
5. 处理生成的代码
生成的代码通常会放在 lib/generated
目录下。你可以在项目中使用这些生成的代码。
6. 清理生成的代码(可选)
如果你想清理生成的文件,可以运行:
flutter pub run build_runner clean