Advertisement
Nurrohman110

Untitled

Apr 11th, 2021
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.88 KB | None | 0 0
  1. import 'dart:convert';
  2.  
  3. import 'package:flutter/material.dart';
  4. import 'package:oteem/dinas_luar/provider/dinasProvider.dart';
  5. import 'package:provider/provider.dart';
  6.  
  7. // ignore: must_be_immutable
  8. class UpdateDinas extends StatefulWidget {
  9. String kodeDinas;
  10. UpdateDinas({this.kodeDinas});
  11. @override
  12. _UpdateDinasState createState() => _UpdateDinasState();
  13. }
  14.  
  15. class _UpdateDinasState extends State<UpdateDinas> {
  16. bool init = true;
  17.  
  18. @override
  19. Widget build(BuildContext context) {
  20. final getDinas =
  21. Provider.of<DinasProvider>(context, listen: false).findById(
  22. widget.kodeDinas,
  23. );
  24. // var stringListReturnedFromApiCall = [
  25. // "first",
  26. // "second",
  27. // "third",
  28. // "fourth",
  29. // "..."
  30. // ];
  31.  
  32. // This list of controllers can be used to set and get the text from/to the TextFields
  33. var textEditingControllers = <TextEditingController>[];
  34. var nameAkomodasiController = <TextEditingController>[];
  35.  
  36. List stringListReturnedFromApiCall = [];
  37. var textFields = <Container>[];
  38. print(getDinas.akomodasiLainnya);
  39. for (int i = 0; i < getDinas.akomodasiLainnya.length; i++) {
  40. stringListReturnedFromApiCall = [
  41. getDinas.akomodasiLainnya[i]['estimasiAkomodasi']
  42. ];
  43. stringListReturnedFromApiCall.forEach((str) {
  44. var textEditingController = new TextEditingController(text: str);
  45. textEditingControllers.add(textEditingController);
  46.  
  47. var name = new TextEditingController(
  48. text: getDinas.akomodasiLainnya[i]['namaAkomodasi']);
  49. nameAkomodasiController.add(
  50. name,
  51. );
  52. return textFields.add(
  53. new Container(
  54. padding: EdgeInsets.all(20),
  55. child: Row(
  56. mainAxisAlignment: MainAxisAlignment.spaceBetween,
  57. children: [
  58. Expanded(
  59. child: TextField(
  60. controller: name,
  61. ),
  62. ),
  63. Expanded(
  64. child: TextField(
  65. controller: textEditingController,
  66. ),
  67. ),
  68. ],
  69. ),
  70. ),
  71. );
  72. });
  73. }
  74.  
  75. save() {
  76. textEditingControllers.forEach((v) {
  77. print(v.text);
  78. });
  79. nameAkomodasiController.forEach((element) {
  80. print(element.text);
  81. });
  82. }
  83.  
  84. return Scaffold(
  85. appBar: AppBar(
  86. title: Text('Update'),
  87. centerTitle: true,
  88. ),
  89. body: SingleChildScrollView(
  90. child: Column(
  91. children: [
  92. new Column(
  93. children: textFields,
  94. ),
  95. FlatButton(
  96. onPressed: () {
  97. save();
  98. },
  99. child: Text('Save'),
  100. ),
  101. ],
  102. ),
  103. ),
  104. );
  105. }
  106. }
  107.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement