如何投标卡?

时间:2019-04-01 22:24:25

标签: dart flutter

我是Flutter的新手,现在我正在做我的第一个项目,然后在我的一个页面中,我正在构建表单以收集信息,所以我创建了两个Card,但是我尝试添加一些在第二个TextField中,所有内容消失。 请帮助:(

import 'package:flutter/material.dart';
import 'customInputField.dart';


class DropDown extends StatefulWidget {

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

class _DropDownState extends State<DropDown> {

   // Here we're going to define the LIST

 List _cities = ["Douala","Yaoundé"];
 List _weight = ["0-1","1-3","3-5"];
 List _dimensions = ["A5","A4","A3","A2"];

 // End
 var resultsList = new List.filled(3, "");

 @override
 void initState(){
// Here we're going to set the initial values

resultsList[0] = "Douala";
resultsList[1] = "0-1";
resultsList[2] = "A5";

   return super.initState();
 }

 // Here we're going to create the method which will build and update the dropDown menu

 _fieldDropDown(List theList, int resultPosition, var dbField) {

return new FormField(

  builder: (FormFieldState state) {

    return InputDecorator(

      decoration: InputDecoration(),

      child: new DropdownButtonHideUnderline(

        child: new DropdownButton(

          value: this.resultsList[resultPosition],

          isDense: true,

          onChanged: (dynamic newValue) {

            setState(() {

              this.resultsList[resultPosition] = newValue;

              state.didChange(newValue);

              print(

                  'The List result = ' + this.resultsList[resultPosition]);

              //write newValue to a database field, which can be used in the override init to set the field originally

            });

          },

          // Comment to remove Error

          items: theList.map((dynamic  value) {

            return new DropdownMenuItem(

              value: value,

              child: new Text(value),

            );

          }).toList(),

        ),

      ),

    );

  },

      );

 }

 @override
 Widget build(BuildContext context) {

return new Scaffold(

  body: Container(
    decoration: new BoxDecoration(
      color: Color.fromRGBO(0x12, 0x34, 0x55, 0.9),

    ),
    child: new Form(
      //key: _formKey,

        autovalidate: true,

        child: new ListView(

          padding: const EdgeInsets.symmetric(horizontal: 16.0),

          children: [

            Card(
              child: Padding(
                   padding: EdgeInsets.fromLTRB(8, 20, 8, 10),
                  child:  Column(
                children: <Widget>[
                  Text('Informations sur le colis',
                    style: TextStyle(fontWeight: FontWeight.bold, fontSize: 18, ),
                  ),
                  Row(
                      mainAxisAlignment: MainAxisAlignment.center,
                      children: <Widget>[
                        new Text('Pli'),
                        new Radio(
                            value: 0,
                            groupValue: null,
                            onChanged: null
                        ),
                        new Text('Colis'),
                        new Radio(
                            value: 1,
                            groupValue: null,
                            onChanged: null
                        )
                      ]
                  ),
                     //create some fields, hand in the list
                  Row(
                    children: <Widget>[
                      Container(
                        width: MediaQuery.of(context).size.width*.3,
                        child: Text('Départ:', style: TextStyle(fontWeight: FontWeight.bold, fontSize: 15),
                        ),
                      ),
                      Container(
                          width: MediaQuery.of(context).size.width*.5,
                          child: _fieldDropDown(_cities, 0, 'colorDBfield')
                      )
                    ],
                  ),
                  Row(
                    children: <Widget>[
                      Container(
                        width: MediaQuery.of(context).size.width*.3,
                        child: Text('Poids:', style: TextStyle(fontWeight: FontWeight.bold, fontSize: 15),
                        ),
                      ),
                      Container(
                          width: MediaQuery.of(context).size.width*.5,
                          child: _fieldDropDown(_weight, 1, 'dogDBfield'),
                      )
                    ],
                  ),
                  Row(
                    children: <Widget>[
                      Container(
                        width: MediaQuery.of(context).size.width*.3,
                        child: Text('Dimensions:', style: TextStyle(fontWeight: FontWeight.bold, fontSize: 15),
                        ),
                      ),
                      Container(
                        width: MediaQuery.of(context).size.width*.5,
                        child: _fieldDropDown(_dimensions, 2, 'peopleDBfield'),
                      )
                    ],
                  ),


                ],
              )),
            ),

            Card(
              child: Padding(
                padding: EdgeInsets.fromLTRB(8, 20, 8, 10),
                child: Column(
                  children: <Widget>[
                    Text('Informations sur le destinataire',
                      style: TextStyle(fontWeight: FontWeight.bold, fontSize: 18, ),
                    ),
                    Row(
                      children: <Widget>[
                        new TextField(
                          decoration: InputDecoration(
                              border: OutlineInputBorder()
                          ),
                        ),

                      ],
                    )
                  ],
                ),
              ),

            )

          ],

        )

    ),
  ),
);
 }
}

image with Cards image without Cards

0 个答案:

没有答案