import 'package:flutter/material.dart';
import 'package:dio/dio.dart';
class HomePage extends StatefulWidget {
HomePage({Key key}) : super(key: key);
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
TextEditingController typeController = TextEditingController();
String showText = '欢迎来到上海白马高级会所';
@override
Widget build(BuildContext context) {
return Container(
child: Scaffold(
appBar: AppBar(title: Text('上海白马会所'),),
body: Container(
child: Column(
children: <Widget>[
TextField(
// 监听文本字段的变化
controller: typeController,
decoration: InputDecoration(
labelText: '帅哥类型',
helperText: '请输入你喜欢的类型'
),
// 关闭软键盘自动弹起
autofocus: false,
),
RaisedButton(
onPressed: _choiceAction,
child: Text('点鸭'),
),
Text(
showText,
overflow: TextOverflow.ellipsis,
maxLines: 1,
)
],
),
),
)
);
}
_choiceAction(){
// 判断文本框是否为空,如果为空就不查询
if(typeController.text.toString() == ''){
showDialog(
context: context,
// 提示用户为空
builder: (context) => AlertDialog(title: Text('文本框不能为空'))
);
}else{
// 拿到用户输入的文字,并更新画面
getHttp(typeController.text.toString()).then((val){
setState(() {
showText = val['data']['name'].toString();
});
});
}
}
Future getHttp(String TypeText) async {
try{
Response response;
var data = {'name':TypeText};
// 这个链接是easy-mock 里面做的假数据
// 如果使用post请求直接在这里换成post请求方式就行了
response = await Dio().get("https://www.easy-mock.com/mock/5c60131a4bed3a6342711498/baixing/dabaojian",
queryParameters:data
);
return response.data;
}catch(e){
print(e);
}
}
}
Dio 请求代码演示
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 终端演示 OpenSSL 以DES为例,列举 DES-ecb加密“message.txt” message.txt...
- 由于最近的Android项目上使用了流行的 Retrofit+RxJava + OkHttp方案,现基于已有代码分...
- 众里寻他千百度蓦然回首,那人却在,灯火阑珊处。 UIWindow //功能:展示UI空间//分配空间并且初始化设置...
- 课程地址:Java三大器之监听器(Listener)的工作原理和代码演示 而启动,只初始化一次,随web应用的停止...