private void _addItem() { if (!string.IsNullOrWhiteSpace(controller.text)) { widget.model.onAddItems(controller.text); controller.clear(); } }
public override Widget build(BuildContext context) { return(new Scaffold( body: new SafeArea( child: new ListView( padding: EdgeInsets.symmetric(horizontal: 24.0f), children: new List <Widget> { new SizedBox(height: 200.0f), new TextField( controller: emailController, decoration: new InputDecoration( filled: true, labelText: "邮箱" ) ), new SizedBox(height: 12.0f), new TextField( controller: passwordController, decoration: new InputDecoration( filled: true, labelText: "密码" ), obscureText: true ), new ButtonBar( children: new List <Widget> { new FlatButton( child: new Text("关闭"), onPressed: () => Navigator.pop(context) ), new FlatButton( child: new Text("清空"), onPressed: () => { emailController.clear(); passwordController.clear(); } ), new RaisedButton( child: new Text("登录"), onPressed: () => { // TODO: 接口有cors 代码仅供参考了 =-= // Login(); Navigator.pop(context, "登陆成功"); } ) } ) } ) ) )); }
private void OnSend(string text) { if (string.IsNullOrEmpty(text)) { return; } _textController.clear(); /// make sure the textfield is still focus after sending in case the user used the return key to send the message FocusScope.of(context).requestFocus(_textFocus); widget.OnSubmit?.Invoke(text); }
Widget _buildChatTextField() { return(new CupertinoTextField( controller: _chatTextController, textCapitalization: TextCapitalization.sentences, placeholder: "Text Message", decoration: new BoxDecoration( border: Border.all( width: 0.0f, color: CupertinoColors.inactiveGray ), borderRadius: BorderRadius.circular(15.0f) ), maxLines: null, keyboardType: TextInputType.multiline, prefix: new Padding(padding: EdgeInsets.symmetric(horizontal: 4.0f)), suffix: new Padding( padding: EdgeInsets.symmetric(horizontal: 4.0f), child: new CupertinoButton( color: CupertinoColors.activeGreen, minSize: 0.0f, child: new Icon( CupertinoIcons.up_arrow, size: 21.0f, color: CupertinoColors.white ), padding: EdgeInsets.all(2.0f), borderRadius: BorderRadius.circular(15.0f), onPressed: () => setState(() => _chatTextController.clear()) ) ), autofocus: true, suffixMode: OverlayVisibilityMode.editing, onSubmitted: (string text) => setState(() => _chatTextController.clear()) )); }
TextField BuildNameTextField() { return(new TextField( controller: nameController, style: inputStyle, decoration: new InputDecoration( labelText: "账号", suffixIcon: new GestureDetector( onTap: () => { nameController.clear(); }, child: new Icon(nameController.text.Length > 0 ? Icons.clear : null) ) ), maxLines: 1 )); }
public override Widget build(BuildContext context) { var inputController = new TextEditingController(); return(new Column( children: new List <Widget>() { new Padding( padding: EdgeInsets.only(top: 20) ), new StoreConnector <TodoListState, object>( converter: (state => null), builder: ((buildContext, _, dispatcher) => { return new Flex( direction: Axis.horizontal, children: new List <Widget>() { new Expanded( flex: 6, child: new TextField( controller: inputController, decoration: new InputDecoration(hintText: "请输入待办事项"), onSubmitted: (value => { TodoModel item = new TodoModel(value, long.Parse(TimeHelper.GetTimeStamp(DateTime.Now)), false); Actions.AddAction action = new Actions.AddAction(item); dispatcher.dispatch(action); inputController.clear(); }), onChanged: (value => mCurrentInptu = value) ) ), new Expanded( flex: 1, child: new IconButton(icon: new Icon(Icons.add), onPressed: (() => { TodoModel item = new TodoModel(mCurrentInptu, long.Parse(TimeHelper.GetTimeStamp(DateTime.Now)), false); Actions.AddAction action = new Actions.AddAction(item); dispatcher.dispatch(action); mCurrentInptu = string.Empty; inputController.clear(); }) ) ) } ); }) ), new Expanded( child: new StoreConnector <TodoListState, List <TodoModel> >( converter: (state => { var showState = state.showState; var list = state.todoList; switch (showState) { case ShowState.All: return list; case ShowState.Finished: return list.Where((mo => mo.isFinish)).ToList(); case ShowState.UnFinished: return list.Where((mo => (!mo.isFinish))).ToList(); default: return list; } }), builder: ((buildContext, model, dispatcher) => { return ListView.seperated( itemCount: model.Count, itemBuilder: ((context1, index) => { var item = model[index]; var iconColor = item.isFinish ? Colors.blue : Colors.grey; return new ListTile(title: new Text(item.content), subtitle: new Text(TimeHelper.ConvertStringToDateTime(item.timestamp.ToString()) .ToString()), leading: new IconButton(icon: new Icon(Icons.check), iconSize: 20, color: iconColor, onPressed: (() => { dispatcher.dispatch(new Actions.UpdateFinishAction(item)); })), trailing: new IconButton(icon: new Icon(Icons.delete), iconSize: 20, onPressed: (() => { dispatcher.dispatch(new Actions.DeleteAction(item)); })) ); }), separatorBuilder: ((context1, index) => { return new Divider(color: Colors.blue); }) ); }) ) ) }, mainAxisSize: MainAxisSize.min )); }
public override Widget build(BuildContext context) { return(new StoreConnector <AppState, AppState>( converter: state => state , builder: (buildContext, model, dispather) => { return new Scaffold( appBar: new AppBar( centerTitle: true , elevation: 3 , backgroundColor: Colors.white , iconTheme: Theme.of(context).iconTheme , leading: new IconButton(icon: new Icon(Icons.arrow_back, color: Colors.black) , onPressed: () => { Navigator.of(context).pop(); }) , title: new TextField(decoration: new InputDecoration( hintText: "请输入要搜索的内容" , hintStyle: new TextStyle(fontSize: 16) , suffixIcon: new IconButton(icon: new Icon(Icons.close, size: 14), color: Colors.grey, iconSize: 14 , alignment: Alignment.center , onPressed: () => { searchTEController.clear(); } ) , contentPadding: EdgeInsets.only(0, 16, 0, 6) ) , controller: searchTEController , autofocus: true , onChanged: (value) => { //if (!string.IsNullOrWhiteSpace(value)) // dispather.dispatch(new SearchAction(value)); } , onSubmitted: (value) => { NetSvc.instance.Send(new AppMsg() { cmd = 1, reqSearchList = new ReqSearchList() { input_text = value } }); } ) , actions: new List <Widget>() { new Icon(Icons.search, color: Colors.transparent) } ) , body: ListView.builder( itemCount: model.offcial_account_list.Count , itemBuilder: (mcount, index) => { return new OACard(model.offcial_account_list[index]); } ) ); } )); }