Files
flutter-go/lib/views/widget_page/widget_page.dart
ryan d48942b55d refactor(many files): 页面部分的文件结构调整
1.views 文件夹里面分类,页面相关文件;2.公共组件全部放在components里;3.创建resources文件夹放置资源dart文件4.修改二级菜单文字大小

BREAKING CHANGE: 重构,建议删除本地db,再编译
2019-01-28 17:45:18 +08:00

77 lines
1.6 KiB
Dart

/*
* @Author: 一凨
* @Date: 2019-01-11 14:39:48
* @Last Modified by: 一凨
* @Last Modified time: 2019-01-11 14:40:09
*/
import 'package:flutter/material.dart';
import 'package:flutter_go/components/cate_card.dart';
import 'package:flutter_go/model/cat.dart';
class WidgetPage extends StatefulWidget {
final db;
final CatControlModel catModel;
WidgetPage(this.db)
: catModel = new CatControlModel(),
super();
@override
SecondPageState createState() => new SecondPageState(catModel);
}
class SecondPageState extends State<WidgetPage> with AutomaticKeepAliveClientMixin{
CatControlModel catModel;
SecondPageState(this.catModel) : super();
TextEditingController controller;
String active = 'test';
String data = '';
List<Cat> categories = [];
@override
bool get wantKeepAlive => true;
@override
void initState() {
super.initState();
renderCats();
}
void renderCats() {
catModel.getList().then((List data) {
if (data.isNotEmpty) {
setState(() {
categories = data;
});
}
});
}
Widget buildGrid() {
// 存放最后的widget
List<Widget> tiles = [];
for (Cat item in categories) {
tiles.add(new CateCard(category: item));
}
return new ListView(
children: tiles,
);
}
@override
Widget build(BuildContext context) {
super.build(context);
if (categories.length == 0) {
return ListView(
children: <Widget>[new Container()],
);
}
return Container(
color: Theme.of(context).backgroundColor,
child: this.buildGrid(),
);
}
}