mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
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
This commit is contained in:
parent
930b52a3e5
commit
b2a2ee72f9
@ -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,
|
||||
new TextField(
|
||||
icon: new Icon(Icons.person),
|
||||
hintText: 'What do people call you?',
|
||||
labelText: 'Name',
|
||||
onSaved: (InputValue val) { person.name = val.text; },
|
||||
validator: _validateName,
|
||||
builder: (FormFieldState<InputValue> field) {
|
||||
return new Input(
|
||||
icon: new Icon(Icons.person),
|
||||
hintText: 'What do people call you?',
|
||||
labelText: 'Name',
|
||||
value: field.value,
|
||||
onChanged: field.onChanged,
|
||||
errorText: field.errorText
|
||||
);
|
||||
},
|
||||
),
|
||||
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
|
||||
),
|
||||
]
|
||||
);
|
||||
|
Loading…
Reference in New Issue
Block a user