大佬教程收集整理的这篇文章主要介绍了我如何使用文本字段和按钮搜索来查找 api id,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的代码,现在我可以从我的服务器调用 API,我想知道,我如何创建文本字段和按钮以在我的模拟器上单击以搜索 API ID
import 'dart:async';
import 'dart:convert';
import 'package:Flutter/material.dart';
import 'package:http/http.dart' as http;
Future<Album> fetchAlbum() async {
final response =
await http.get(Uri.parse('http://192.168.176.131:3000/API/courses/1'));
if (response.statusCode == 200) {
// If the server dID return a 200 OK response,// then parse the JsON.
return Album.fromJson(JsonDecode(response.body));
} else {
// If the server dID not return a 200 OK response,// then throw an exception.
throw Exception('Failed to load album');
}
}
class Album {
final int userID;
final int id;
final String title;
Album({
required thiS.UserID,required this.ID,required this.title,});
factory Album.fromJson(Map<String,dynamic> Json) {
return Album(
userID: Json['userID'],ID: Json['ID'],title: Json['title'],);
}
}
voID main() => runApp(MyApp());
class MyApp extends StatefulWidget {
MyApp({Key? key}) : super(key: key);
@overrIDe
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
late Future<Album> futureAlbum;
@overrIDe
voID initState() {
super.initState();
futureAlbum = fetchAlbum();
}
@overrIDe
Widget build(BuildContext context) {
return MaterialApp(
title: 'Fetch Data Example',theme: themeData(
priMarySwatch: colors.blue,),home: Scaffold(
appbar: Appbar(
title: Text('Fetch Data Example'),body: Center(
child: FutureBuilder<Album>(
future: futureAlbum,builder: (context,snapshot) {
if (snapshot.hasData) {
return Text(snapshot.data!.titlE);
} else if (snapshot.hasError) {
return Text("${snapshot.error}");
}
// By default,show a loading spinner.
return CircularProgressInDicator();
},);
}
}
根据您想要的视图布局,您有很多选择。 TextField 是您可能要用于输入搜索关键字的控件。建议使用 TextEdiTingController 来获取值并以其他方式管理 TextField。
将 TextEdiTingController
添加到您的小部件:
TextEdiTingController searchController = new TextEdiTingController();
在您的 Scaffold 主体中,您将希望能够显示一个小部件列表。在此示例中,我通过将小部件包装在 column 中来堆叠小部件。 TextField 和 FlatButton 位于 Row 内,使用 Expanded 将它们彼此内联排列。左侧输入文本,右侧按钮。该行被抛出到 Container
中。当您按下按钮时,将在控制台上打印一条消息,其中包含在文本字段中输入的关键字。这是您搜索数据并根据搜索结果调整向用户显示的内容的机会。
这是我创建的构建方法:
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Fetch Data Example',theme: ThemeData(
priMarySwatch: Colors.blue,),home: Scaffold(
appBar: AppBar(
title: Text('Fetch Data Example'),body: column(children: [
Container(
child: Row(children: [
Expanded(
flex: 2,child: TextField(
controller: searchController
)
),Expanded(
flex: 1,child: FlatButton(
onPressed: () {
print("this is the text to search for => ${searchController.text}");
},child: Text("Search"),)
)
],)
),Center(
child: FutureBuilder<Album>(
future: futureAlbum,builder: (context,snapshot) {
if (snapshot.hasData) {
return Text(snapshot.data?.titlE);
} else if (snapshot.hasError) {
return Text("${snapshot.error}");
}
// By default,show a loading spinner.
return CircularProgressInDicator();
},],)
),);
以上是大佬教程为你收集整理的我如何使用文本字段和按钮搜索来查找 api id全部内容,希望文章能够帮你解决我如何使用文本字段和按钮搜索来查找 api id所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。