繁体   English   中英

我想为这个小部件中的局部变量分配一个日期值并显示在文本框中

I want to assign a Date value to local variable in this Widget and show on the text box

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

那是我的代码我想通过使用 showDatepicker 获取日期来将 k 值设置为字符串我无法获取 k 值并放在提示文本上。 与之前的值相同,没有变化。 它与''值相同,我做了 then 方法并设置了值但没有工作

 Widget fillBoxDate(String text,BuildContext context) {
   String k ='';
   return  Column(
            Container(
                 child: GestureDetector(
            onTap: (){
               showDatePicker(
                context:context ,
                initialDate: DateTime.now(),
                firstDate: DateTime(2001),
                lastDate: DateTime(2200),
              ).then((value) => {
                  k = value.toIso8601String().split('T').first
               });
            },
            child: Container(
              // height:40.h,
              height: MediaQuery.of(context).size.height*0.050,
              child: DropdownButton(

                icon: Container(
                    alignment: Alignment.centerLeft,
                    // color: Colors.blueGrey,
                    padding: EdgeInsets.zero,
                    margin: EdgeInsets.only(left: MediaQuery.of(context).size.width*0.25),
                    child: IconButton(
                      icon:Icon(Icons.arrow_drop_down,size:25.w,),
                      color: Colors.black87,
                      padding: EdgeInsets.all(0),
                      constraints: BoxConstraints(),

                      onPressed: (){
                        print("Hello");
                        showDatePicker(
                          context:context ,
                          initialDate: DateTime.now(),
                          firstDate: DateTime(2001),
                          lastDate: DateTime(2200),
                        ).then((pickedDate) => print(pickedDate));
                      },
                    )),
                hint:Container(
                    // color: Colors.red,

                    child: Text(k,style: TextStyle(fontSize: 14.sp,fontWeight: FontWeight.bold,color:Colors.black87,fontFamily:'OpenSans'),)),

              ),
            ),
          ),
       ),
   );
}
1 个回复

这样做的原因是它不是一个有状态的小部件,在长度上我更新为一个有状态的小部件,并在更新发生时将 k 作为局部变量和 setState

class Fdate extends StatefulWidget {
  @override
  _FdateState createState() => _FdateState();
}

class _FdateState extends State<Fdate> {
  String k ='Select Date';
  DateTime selectedDate = DateTime.now();
  void setDate(String date){
    setState(() {
        k = date;
    });
  }
  @override
  Widget build(BuildContext context) {
    return  Column(
      children: [

        Container(

            padding: EdgeInsets.zero,
            margin: EdgeInsets.all(0),
            // color: Colors.black87,
            child:
            Align(
              alignment: Alignment.centerLeft,
              child: Text("Select Date",style: TextStyle(fontSize: 14.sp,fontWeight: FontWeight.w400,fontFamily:'OpenSans',),),
            )
        ),
        Container(
          // color: Colors.blue,
          margin: EdgeInsets.only(top:0),

          // color: Colors.blue,
          child: Align(
            alignment: Alignment.centerLeft,
            child: GestureDetector(
              onTap: () async {
                final DateTime picked = await showDatePicker(
                  context:context ,
                  initialDate: DateTime.now(),
                  firstDate: DateTime(2001),
                  lastDate: DateTime(2200),
                  // initialEntryMode: DatePickerEntryMode.input,

                );
                setDate(picked.toIso8601String().split('T').first);


              },
              child: Container(
                // height:40.h,
                height: MediaQuery.of(context).size.height*0.050,
                child: DropdownButton(

                  icon: Container(
                      alignment: Alignment.centerLeft,
                      // color: Colors.blueGrey,
                      padding: EdgeInsets.zero,
                      margin: EdgeInsets.only(left: MediaQuery.of(context).size.width*0.25),
                      child: IconButton(
                        icon:Icon(Icons.arrow_drop_down,size:25.w,),
                        color: Colors.black87,
                        padding: EdgeInsets.all(0),
                        constraints: BoxConstraints(),

                        onPressed: (){
                          // print("Hello");
                          // showDatePicker(
                          //   context:context ,
                          //   initialDate: DateTime.now(),
                          //   firstDate: DateTime(2001),
                          //   lastDate: DateTime(2200),
                          // ).then((pickedDate) => print(pickedDate));
                        },

                      )),
                  hint:Container(
                    // color: Colors.red,
                      child: Text(k,style: TextStyle(fontSize: 14.sp,fontWeight: FontWeight.bold,color:Colors.black87,fontFamily:'OpenSans'),)),

                ),
              ),
            ),
          ),
        )
      ],
    );
  }
}


1 如何使用* ng将值绑定到文本框对于angular2中的局部变量

我正在尝试在Angular2中执行一些示例代码。 我有一个名为“添加”的按钮。 在单击“添加”按钮时,将添加一个新表行,并带有一组控件,例如文本框,选择等。一旦我填充了这些详细信息,那么,如果我再次单击“添加”按钮,将添加一个新行,但之前已填充了详细信息将被清除(空)。 我想要的是,每当我 ...

2 在LLVM IR中为文本值分配局部变量

我一直在搞乱LLVM IR的代码生成,而且我不太明白,这就是必须分配局部变量的区别,以及如何将文字值加载到局部变量中。 如果我将以下简单的C代码编译为LLVM IR, 我得到这个输出: 我可以减少 所以我想我的问题是,为什么它是一个将文字数加载到变量中的迂回方法? 有 ...

4 为subscribe()中的局部变量分配值

我正在http post ,然后尝试在subscribe中将值分配给局部变量。 但是,永远不会调用该局部变量代码行。 为什么呢 我的代码有什么问题? 这是我的组成部分 这是我的服务 我的MVC控制器方法(只需添加简单的方法即可确保往返行程很好) } ...

2017-07-28 15:11:49 2 2244   angular
6 从另一个小部件访问MainWindow中的文本框

我在QtCreator中创建了一个Qt5 UI应用程序。 它由一个带有PlainTextEdit的MainWindow和一个用于绘图的自定义小部件“ Canvas”组成。 现在,PlainTextEdit设置为只读,并且应该用作画布窗口小部件中可能出现的某些状态消息的日志窗口。 为此,我在 ...

9 在文本框中显示变量的值

在将变量增加2之后,我试图使文本框显示变量“ Stars”的值。该文本框设置为0,但无法根据变量“ Stars”的值进行更改 编辑:我已经解决了这个问题 ...

10 将文本分配给Typescript中的局部变量

在Typescript中,我尝试使用一些javascript代码读取XML文件,并使用以下代码将文本内容添加到本地变量中: 我试图将json文件中的文本分配给我的私有局部变量jsonText: this.jsonText = rawFile.responseText; 都是“字符串”类 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM