Skip to content

Commit

Permalink
30 - Criando o Campo de CEP
Browse files Browse the repository at this point in the history
  • Loading branch information
Dhciolfi committed Mar 12, 2020
1 parent 599754d commit ddc2246
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 2 deletions.
3 changes: 1 addition & 2 deletions api/api_postalcode.dart
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,7 @@ Future<ApiResponse> getAddressFromAPI(String postalCode) async {
federativeUnit: response.data['uf'],
);

print(address);

return ApiResponse.success(result: address);
} on DioError catch (e){
return ApiResponse.error(
error: ApiError(
Expand Down
40 changes: 40 additions & 0 deletions common/cep_field.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import 'package:brasil_fields/brasil_fields.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:xlo/models/address.dart';

class CepField extends StatefulWidget {

CepField({this.decoration, this.onSaved});

final InputDecoration decoration;
final FormFieldSetter<Address> onSaved;

@override
_CepFieldState createState() => _CepFieldState();
}

class _CepFieldState extends State<CepField> {

InputDecoration get decoration => widget.decoration;
FormFieldSetter<Address> get onSaved => widget.onSaved;

@override
Widget build(BuildContext context) {
return Column(
children: <Widget>[
TextFormField(
keyboardType: TextInputType.number,
decoration: decoration,
inputFormatters: [
WhitelistingTextInputFormatter.digitsOnly,
CepInputFormatter(),
],
onSaved: (c){
onSaved(Address());
},
)
],
);
}
}
15 changes: 15 additions & 0 deletions screens/create/create_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import 'package:brasil_fields/formatter/real_input_formatter.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:xlo/api/api_postalcode.dart';
import 'package:xlo/common/cep_field.dart';
import 'package:xlo/common/custom_drawer/custom_drawer.dart';
import 'package:xlo/screens/create/widgets/images_field.dart';

Expand Down Expand Up @@ -71,6 +72,20 @@ class _CreateScreenState extends State<CreateScreen> {

},
),
CepField(
decoration: InputDecoration(
labelText: 'CEP *',
labelStyle: TextStyle(
fontWeight: FontWeight.w800,
color: Colors.grey,
fontSize: 18,
),
contentPadding: const EdgeInsets.fromLTRB(16, 10, 12, 10),
),
onSaved: (a) {

},
),
TextFormField(
decoration: InputDecoration(
labelText: 'Preço *',
Expand Down

0 comments on commit ddc2246

Please sign in to comment.