Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class CustomTextField extends StatefulWidget {
- CustomTextField(
- {@required this.focusNode,
- @required this.nextFocusNode,
- @required this.textEditingController,
- @required this.validator,
- @required this.labelText,
- @required this.dataText});
- final FocusNode focusNode;
- final FocusNode nextFocusNode;
- final TextEditingController textEditingController;
- final FormFieldValidator<String> validator;
- final String labelText;
- String dataText;
- @override
- _CustomTextFieldState createState() => new _CustomTextFieldState();
- }
- class _CustomTextFieldState extends State<CustomTextField> {
- @override
- Widget build(BuildContext context) {
- return Container(
- height: 65,
- child: new TextFormField(
- style: Utility.textFormFieldStyle(context),
- keyboardType: TextInputType.text,
- textInputAction: widget.nextFocusNode == null
- ? TextInputAction.done
- : TextInputAction.next,
- focusNode: widget.focusNode,
- onFieldSubmitted: (v) {
- FocusScope.of(context).requestFocus(widget.nextFocusNode);
- },
- decoration: InputDecoration(
- labelText: widget.labelText,
- contentPadding: Utility.edgeInsetsGeometry()),
- controller: widget.textEditingController,
- validator: widget.validator,
- onSaved: (String val) {
- widget.dataText = val;
- // not saving my value in my main class
- print("costom text view ${widget.dataText}");
- }));
- }
- }
- /// main class ---------------------------///
- List<FocusNode> listFocusNode;
- List<String> listDataText;
- List<TextEditingController> listTextEditingController;
- List<Widget> listFormField;
- @override
- void initState() {
- super.initState();
- listFocusNode = <FocusNode>[];
- listTextEditingController = <TextEditingController>[];
- listFormField = <Widget>[];
- listDataText = <String>[];
- for (int i = 0; i < 5; i++) {
- listFocusNode.add(FocusNode());
- }
- for (int i = 0; i < 5; i++) {
- listDataText.add("old");
- }
- for (int i = 0; i < 5; i++) {
- listTextEditingController.add(TextEditingController());
- }
- for (int i = 0; i < 5; i++) {
- listFormField.add(CustomTextField(
- dataText: listDataText[i],
- focusNode: listFocusNode[i],
- labelText: "field$i",
- textEditingController: listTextEditingController[i],
- nextFocusNode: i == 4 ? null : listFocusNode[i + 1],
- // validator: validateNull,
- validator: validateName,
- ));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement