我将状态存储在一个表中,并将其保留为数字 0 和 1。我希望将这些状态显示在列表视图生成器中。 但我希望这些状态显示为文本而不是数字。 0 = 待批准 1 = 批准 我如何开始构建才能获得该结果?我刚刚开始写flutter。
class _view_problemState extends State<view_problem> {
TextEditingController _searchController = TextEditingController();
List<problemModel> problemlist = [];
List<problemModel> originalList = [];
StreamController _streamController = StreamController();
Future getAllProblem() async {
problemlist = await problemcontrollers().getProblem();
originalList = problemlist;
_streamController.sink.add(problemlist);
}
@override
void initState() {
getAllProblem();
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Color.fromARGB(255, 14, 12, 134),
title: const Text('show information'),
),
body: Container(
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.all(8.0),
)
Expanded(
child: StreamBuilder(
stream: _streamController.stream,
builder: (context, snapshots) {
if (snapshots.hasData) {
return ListView.builder(
itemCount: problemlist.length,
itemBuilder: ((context, index) {
problemModel problem = problemlist[index];
return Card(
margin: EdgeInsets.all(10),
child: ListTile(
leading: CircleAvatar(
backgroundImage: NetworkImage(
'http://192.168.1.5/skc/Problem_image/${problem.image}',
),
),
title: Text(
problem.name_surname,
style: TextStyle(
fontWeight: FontWeight.bold, fontSize: 19),
),
subtitle: Text(
problem.status,
style: TextStyle(
fontWeight: FontWeight.bold, fontSize: 17),
),
),
);
}));
}
return Center(
child: CircularProgressIndicator(),
);
},
),
)
],
),
),
);
}
}
在这种情况下我们可以使用三元运算符。 只需像这样更新你的字幕
Text(
problem.status == 0 ? 'pending approval' : 'approve',
style: TextStyle(
fontWeight: FontWeight.bold, fontSize: 17),
)