Files
flutter-go/lib/views/widgetPage.dart
2019-01-10 21:32:12 +08:00

79 lines
1.6 KiB
Dart

import 'package:flutter/material.dart';
import 'widgetPage/cate_card.dart';
import '../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
// TODO: implement wantKeepAlive
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 = [];
Widget content;
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(),
);
}
void _onChanged(String value) {
setState(() {
active = value;
data = '90';
});
}
}