dictionary - 数据未在 Text() 小部件中呈现,我如何在 Flutter 应用程序中查看数据
问题描述
Map data = {
'acc_name': 'guru',
};
List<eos.Action> actions = [
eos.Action()
..account = 'guru11111111'
..name = 'getborrower'
..authorization = auth
..data = data
];
eos.Transaction transaction = eos.Transaction()..actions = actions;
_eosClient.pushTransaction(transaction, broadcast: true).then((trx) {
print(trx);
我的数据是trx
可变的,它在我的颤振控制台中以这种方式出现
I/flutter ( 8554): {transaction_id: ed53dd56e76a313ad95fda218bb5061e995844e46f7d8ad613e944bc26cb297d, processed: {id: ed53dd56e76a313ad95fda218bb5061e995844e46f7d8ad613e944bc26cb297d, block_num: 51263066, block_time: 2019-09-24T06:29:57.000, producer_block_id: null, receipt: {status: executed, cpu_usage_us: 173, net_usage_words: 13}, elapsed: 173, net_usage: 104, scheduled: false, action_traces: [{action_ordinal: 1, creator_action_ordinal: 0, closest_unnotified_ancestor_action_ordinal: 0, receipt: {receiver: guru11111111, act_digest: 55e9b8f98bde721c3f3e53cf98a20814a5d426290b0bf55f842d97866bc71f6c, global_sequence: 488200462, recv_sequence: 216, auth_sequence: [[guru11111111, 286]], code_sequence: 25, abi_sequence: 14}, 接收者: guru11111111, act: {account: guru11111111, name: getborrower, 授权: [{actor:guru11111111,权限:活动}],数据:{acc_name:guru},hex_data:0000000000a0af66},context_free:false,经过:51,控制台:借款人姓名:guru ID:1 地点:varanasi 电话号码:8563070443
**我尝试对上述数据进行一些序列化**
**我要打印的内容简而言之,在此之后您将查看完整数据**
processed{
action_traces
[
{
console:
Borrower Name: guru
ID: 1
Location: varanasi
Phone Number: 8563070443,
Loan Amount:465200
}
]
}
processed: {
id: c459d2da5100afb1b4ab0352debfa4736aadd8c2e36529fe0861c9c8cadddeae,
block_num: 51299894,
block_time: 2019-09-24T11:40:11.500,
producer_block_id: null,
receipt: {
status: executed,
cpu_usage_us: 226,
net_usage_words: 13
},
elapsed: 226,
net_usage: 104,
scheduled: false,
action_traces: [
{
action_ordinal: 1,
creator_action_ordinal: 0,
closest_unnotified_ancestor_action_ordinal: 0,
receipt: {
receiver: guru11111111,
act_digest: 55e9b8f98bde721c3f3e53cf98a20814a5d426290b0bf55f842d97866bc71f6c,
global_sequence: 488304782,
recv_sequence: 329,
auth_sequence: [
[guru11111111, 399]
],
code_sequence: 25,
abi_sequence: 14
},
receiver: guru11111111,
act: {
account: guru11111111,
name: getborrower,
authorization: [
{
actor: guru11111111,
permission: active
}
],
data:
{
acc_name: guru
},
hex_data: 0000000000a0af66
},
context_free: false,
elapsed: 60,
console:
Borrower Name: guru
ID: 1
Location: varanasi
Phone Number: 8563070443,
Loan Amount:465200
}
我想在我的屏幕上查看粗体数据请帮助我我已经尝试过这种方式但它不起作用
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:eosdart/eosdart.dart' as eos;
SharedPreferences sharedPreferences;
getCredential() async {
sharedPreferences = await SharedPreferences.getInstance();
}
void main() => runApp(GetBorrower());
class GetBorrower extends StatefulWidget {
@override
_GetBorrowerState createState() => _GetBorrowerState();
}
class _GetBorrowerState extends State<GetBorrower> {
eos.Account _account;
eos.EOSClient _eosClient = eos.EOSClient(
'http://jungle2.cryptolions.io:80', 'v1',
privateKeys: ["5JfVW2PtRkAcLbLETevxCwaQuT8NNWvP2eBYCrPRKPBWDgZDEo1"]);
Map fetch = new Map();
// List fetch;
void _fetchborrower() {
List<eos.Authorization> auth = [
eos.Authorization()
..actor = 'guru11111111'
..permission = 'active'
];
//
Map data = {
'acc_name': 'guru',
};
List<eos.Action> actions = [
eos.Action()
..account = 'guru11111111'
..name = 'getborrower'
..authorization = auth
..data = data
];
setState(() {
eos.Transaction transaction = eos.Transaction()..actions = actions;
_eosClient.pushTransaction(transaction, broadcast: true).then((trx) {
print(trx);
fetch = trx;
});
print('hiiiii');
});
// fetch = json.decode(trx).toString() as Map;
// print('Loaded ${fetch.length}');
}
fetchdata() {
return Expanded(
flex: 4,
child: new ListView.builder(
itemCount: fetch.length,
itemBuilder: (BuildContext context, int index) {
String key = fetch.keys.elementAt(index);
return Column(
children: <Widget>[
// Text('$key'),
Text('${fetch[key]}'),
],
);
}),
);
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
backgroundColor: Colors.teal,
body: SafeArea(
child: Column(
children: <Widget>[
Text('hi'),
FlatButton(
color: Colors.white,
child: Text('get borrower'),
onPressed: () {
_fetchborrower();
},
),
Flexible(
child: new ListView.builder(
itemCount: fetch.length,
itemBuilder: (BuildContext context, int index) {
String key = fetch.keys.elementAt(index);
return Column(
children: <Widget>[
// Text('$key'),
Text('${fetch[key]}'),
],
);
}),
),
],
),
),
),
);
}
我还能做什么或我做错了什么请帮助实际上我的数据正在获取但当时当我按下ctrl+s并且我的小部件刷新它在屏幕上显示数据时它没有得到渲染然后我该如何改进呢?
解决方案
我会将 setState 移动到then
你的未来。
eos.Transaction transaction = eos.Transaction()..actions = actions;
_eosClient.pushTransaction(transaction, broadcast: true).then((trx) {
print(trx);
setState(() {
fetch = trx;
});
print('hiiiii');
});
推荐阅读
- javascript - 从模板内部将 ng-model 绑定到服务参数
- javascript - 内容丰富的按钮折叠成图标并显示导航选项卡内容
- jquery - Spring MVC webapp的ajax调用被取消
- laravel - 生成的源文件不应在 phpstorm 中编辑
- r - 处理 ggplot2 中构面直方图的不同样本大小
- visual-studio-code - 为什么 python 调试器断点不起作用?
- python - jupyter notebook matplotlib figureframe 意外改变大小
- sse - SSE/AVX:根据每个元素的最小和最大绝对值从两个 __m256 浮点向量中进行选择
- java - Java:使用 Java 的递归迷宫的代码错误
- c++ - 迭代时的 std::multimap::erase()