import 'package:flutter/material.dart';
import 'package:tform/tform.dart';
class PartForm {
String partNum;
String partSpecification;
String weight;
PartForm({this.partNum, this.partSpecification, this.weight});
}
class TabResourcePage extends StatefulWidget {
const TabResourcePage({Key key}) : super(key: key);
@override
_TabResourcePageState createState() => _TabResourcePageState();
}
class _TabResourcePageState extends State<TabResourcePage> {
final GlobalKey _formKey = GlobalKey<TFormState>();
var form = PartForm(partNum: "1", partSpecification: "2*2", weight: "100");
var options = ["10", '2'];
@override
void dispose() {
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: Column(
children: [
Text("form.partSpecification:${form.partSpecification}"),
TextButton(
onPressed: () {
setState(() {
form.partSpecification = "";
});
},
child: Text("clear")),
TextButton(
onPressed: () {
setState(() {
form.partSpecification += "123";
});
},
child: Text("add")),
Expanded(
child: TForm.builder(
key: _formKey,
rows: [
TFormRow.input(
title: "规格123",
placeholder: "规格",
value: form.partSpecification,
textAlign: TextAlign.right,
onChanged: (TFormRow row) {},
),
// 我把这两列放开注释,hot Reload也不会将组件刷新
// TFormRow.input(
// title: "数量",
// placeholder: "数量",
// value: form.partNum,
// textAlign: TextAlign.right,
// onChanged: (TFormRow row) {},
// ),
// TFormRow.input(
// title: "重量",
// placeholder: "重量",
// value: form.weight,
// textAlign: TextAlign.right,
// onChanged: (TFormRow row) {},
// ),
],
divider: Divider(
height: .5,
thickness: .5,
),
),
),
],
),
),
floatingActionButton: IconButton(
onPressed: () {
setState(() {
form.partSpecification += "refresh";
print(form.partSpecification);
// TForm.of(context).reload();
(_formKey.currentState as TFormState).reload();
});
},
icon: Icon(Icons.refresh),
),
);
}
}