Commit b2a2ee72 authored by Adam Barth's avatar Adam Barth Committed by Adam Barth

Migrate from Input to TextField

We expect TextField to be used much more often than Input. This patch updates
our old example code to use TextField instead.

See #7031
parent 930b52a3
......@@ -304,9 +304,8 @@ class CardCollectionState extends State<CardCollection> {
padding: const EdgeInsets.all(kCardMargins),
child: _editable ?
new Center(
child: new Input(
child: new TextField(
key: new GlobalObjectKey(cardModel),
value: cardModel.inputValue,
onChanged: (InputValue value) {
setState(() {
cardModel.inputValue = value;
......
......@@ -117,8 +117,6 @@ class DateAndTimePickerDemo extends StatefulWidget {
}
class _DateAndTimePickerDemoState extends State<DateAndTimePickerDemo> {
InputValue _eventName = InputValue.empty;
InputValue _eventLocation = InputValue.empty;
DateTime _fromDate = new DateTime.now();
TimeOfDay _fromTime = const TimeOfDay(hour: 7, minute: 28);
DateTime _toDate = new DateTime.now();
......@@ -138,25 +136,13 @@ class _DateAndTimePickerDemoState extends State<DateAndTimePickerDemo> {
child: new Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
new Input(
new TextField(
labelText: 'Event name',
value: _eventName,
style: Theme.of(context).textTheme.display1,
onChanged: (InputValue newValue) {
setState(() {
_eventName = newValue;
});
},
),
new Input(
new TextField(
labelText: 'Location',
value: _eventLocation,
style: Theme.of(context).textTheme.display1.copyWith(fontSize: 20.0),
onChanged: (InputValue newValue) {
setState(() {
_eventLocation = newValue;
});
},
),
new _DateTimePicker(
labelText: 'From',
......
......@@ -113,22 +113,12 @@ class TextFieldDemoState extends State<TextFieldDemo> {
child: new Block(
padding: const EdgeInsets.symmetric(horizontal: 16.0),
children: <Widget>[
// It's simpler to use an TextField, as below, but a FormField
// that builds an Input is equivalent.
new FormField<InputValue>(
initialValue: InputValue.empty,
onSaved: (InputValue val) { person.name = val.text; },
validator: _validateName,
builder: (FormFieldState<InputValue> field) {
return new Input(
new TextField(
icon: new Icon(Icons.person),
hintText: 'What do people call you?',
labelText: 'Name',
value: field.value,
onChanged: field.onChanged,
errorText: field.errorText
);
},
onSaved: (InputValue val) { person.name = val.text; },
validator: _validateName,
),
new TextField(
icon: new Icon(Icons.phone),
......
......@@ -290,8 +290,7 @@ class StockHomeState extends State<StockHome> {
onPressed: _handleSearchEnd,
tooltip: 'Back'
),
title: new Input(
value: _searchQuery,
title: new TextField(
autofocus: true,
hintText: 'Search stocks',
onChanged: _handleSearchQueryChanged
......@@ -336,30 +335,15 @@ class StockHomeState extends State<StockHome> {
}
}
class _CreateCompanySheet extends StatefulWidget {
@override
_CreateCompanySheetState createState() => new _CreateCompanySheetState();
}
class _CreateCompanySheetState extends State<_CreateCompanySheet> {
InputValue _companyName = InputValue.empty;
void _handleCompanyNameChanged(InputValue value) {
setState(() {
_companyName = value;
});
}
class _CreateCompanySheet extends StatelessWidget {
@override
Widget build(BuildContext context) {
// TODO(ianh): Fill this out.
return new Column(
children: <Widget>[
new Input(
new TextField(
autofocus: true,
hintText: 'Company Name',
value: _companyName,
onChanged: _handleCompanyNameChanged
),
]
);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment