如果待处理状态变为红色,完成状态变为绿色,如何更改状态值的颜色来自数据库
我的数据库中有一个待处理和完成的值,如果状态显示为待处理,则颤动中的状态颜色将为红色,如果完成,则颜色将为绿色
final x = list[i];
debugPrint(x.toString());
return Container(
padding: EdgeInsets.all(20.0),
child: Row(
children: <Widget>[
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
'Vessel Name:\t' + x["vesselname"],
style: TextStyle(fontSize: 20.0, fontWeight: FontWeight.bold),
),
Text('Ship Call #:\t' + x["scn"], style: TextStyle(fontSize: 20.0)),
Text('Vessel Number:\t' + x["voyageno"], style: TextStyle(fontSize: 20.0)),
Text('Status:\t' + x["status"], style: TextStyle(fontSize: 20.0)),
Divider()
],
),
),
],
),
);
这是我对数据库的请求:
var url = "http://192.168.1.15/vessellog/read.php";
List<dynamic> list = [];
Future<void> getData() async {
list.clear();
setState(() {
loading = true;
});
Future<SharedPreferences> _prefs = SharedPreferences.getInstance();
SharedPreferences preferences = await _prefs;
String id = preferences.getString("id");
final response = await http.get(url + "?client_signature=$id");
debugPrint(response.body);
if (response.contentLength == 2) {
} else
setState(() {
list = jsonDecode(response.body);
loading = false;
});
}
答案 0 :(得分:0)
您需要使用TextStyle中的color参数。根据{{1}}值进行更改。
这是您的完整代码,只有很小的更改,请参见注释行:
for k in d.keys():
new_key = re.findall(".*\)\s(.*)", k)[0]
d[new_key] = d[k]
del d[k]