我的仪表板代码看起来像这样,这里我在 getReport 方法中执行 get req,我RefreshIndicator在代码中添加了在容器内下拉时应该进行刷新的代码,在那里我正在调用我的 getData(),但我没有得到刷新内容,我在下面添加我的代码,如果我犯了错误,请告诉我。
在我的dashboard.dart下方
class Window extends StatefulWidget {
@override
_WindowState createState() => _WindowState();
}
class _WindowState extends State<Window> {
Future reportList;
@override
void initState() {
super.initState();
reportList = getReport();
}
Future<void> getReport() async {
http.Response response =
await http.get(reportsListURL, headers: {"token": "$token"});
switch (response.statusCode) {
case 200:
String reportList = response.body;
var collection = json.decode(reportList);
return collection;
case 403:
break;
case 401:
return null;
default:
return 1;
}
}
getRefreshScaffold() {
return Center(
child: …Run Code Online (Sandbox Code Playgroud) 我正在从我的 flutter 应用程序发出 https post 请求。因为我在服务器中使用自签名 SSL 证书,所以当我点击 API 时,我收到的状态代码为 405,我无法连接,
如果我使用 HTTP 包,我会收到以下异常,
HandshakeException: Handshake error in client (OS Error: I/flutter ( 7107): CERTIFICATE_VERIFY_FAILED: self signed certificate(handshake.cc:352))
Run Code Online (Sandbox Code Playgroud)
当我尝试使用 deo 包时,我收到 405 状态代码,下面是代码,
Response response;
final Dio dio = Dio();
(dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate =
(HttpClient client) {
client.badCertificateCallback =
(X509Certificate cert, String host, int port) => true;
return client;
};
response = await dio.post(loginURL, data: {"username": username, "password": password});
print(response.data.toString());
print(response.statusCode);
Run Code Online (Sandbox Code Playgroud)
我试图通过以下方式避免 SSL 握手
client.badCertificateCallback =
(X509Certificate cert, String host, …Run Code Online (Sandbox Code Playgroud) 我的应用程序中有一个 3 个复选框,它们是通过循环勾选框地图而形成的,在我的应用程序中,它允许选择多个复选框,但我不希望发生这种情况,一次只能选择一个,有什么办法在颤振中这样做。
下面是我的代码。
class _DashboardFilterState extends State<DashboardFilter> {
void showModalSheet() {
List<Map<String, Object>> tickbox;
timeData = [
{"id": "1", "displayId": "Daily"},
{"id": "2", "displayId": "Weekly"},
{"id": "3", "displayId": "Monthly"}
];
showModalBottomSheet<void>(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.0),
),
context: context,
builder: (BuildContext context) {
return StatefulBuilder(
builder: (BuildContext context, StateSetter state) {
return createBox(context, timeData, state);
});
});
}
createBox(BuildContext context,List<Map<String, Object>> tickbox, StateSetter state) {
var tickboxdata = tickbox.map<Widget>((data) {
int id = data["id"];
var dispId = data["displayId"];
return buildTimeData(context, …Run Code Online (Sandbox Code Playgroud) 我有一个数据表,由于可用数据量的原因,该数据表可以水平和垂直滚动。我希望指定列名称的顶行在向下滚动时始终可见。
代码:代码中没有问题我得到了结果,但是当我向下滚动时标题不会显示。任何人都可以帮助我如何修复标题(第一行)。
我的标题(第一行)元素随着每个请求而不断变化,其实现方式是,单击它击中 API 的每张卡片时,我的仪表板中将会出现卡片,并且我将显示其结果,即名为标题列表的字段内容作为我的第一行。
每张卡的标题内容都会不断变化。因此,一旦单击任何卡片,就会弹出包含其数据的新页面,我需要修复标题。
Widget getTable(BuildContext context, var data) {
Widget _widget;
_widget = SingleChildScrollView(
child: SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: DataTable(
rows: createDataRows(context, data),
columns: createDataColumns(context, data),
),
),
);
return _widget;
}
List<DataRow> createDataRows(BuildContext context, var jsonData) {
List<DataRow> _dataRows = [];
List<DataCell> _cells = [];
String _dataCellTitle;
Map<String, Object> headers = jsonData['headers'];
Map<int, String> headerMapping;
headerMapping = headers.keys
.toList()
.asMap()
.map((index, value) => MapEntry(index + 1, value));
if (jsonData["data"] == null) {
_dataRows = [];
} …Run Code Online (Sandbox Code Playgroud) 我的 flutter 应用程序代码中有类似的内容,我无法在选项卡中水平滑动,你能帮助我解决我犯错误的地方吗?
getBody(var data) {
double maxHeight = MediaQuery.of(context).size.height;
developer.log('Max height:' + maxHeight.toString());
return Column(
children: <Widget>[
Container(
child: TabBar(
labelColor: Colors.black,
tabs: [
new Tab(text: 'Credit', icon: new Icon(Icons.list)),
new Tab(text: 'Debit', icon: new Icon(Icons.pie_chart)),
new Tab(text: 'Online', icon: new Icon(Icons.insert_chart)),
],
controller: _tabController,
onTap: _handleTabSelection,
),
),
Container(
margin: new EdgeInsets.all(0.0),
height: maxHeight - 229,
child: new Center(
child: new RefreshIndicator(
onRefresh: refreshList,
child: createReportList(context, data),
),
),
),
],
);
}
Run Code Online (Sandbox Code Playgroud)
代码的输出是, 上面代码的结果,我要点击每个选项卡,滑动不来
嗨,我正在尝试将开始时间作为当前日期 12:00 AM 作为我的 fromTime
DateTime toTime= new DateTime.now();
DateTime fromTime= toTime.subtract(new Duration(days: 1));
Run Code Online (Sandbox Code Playgroud)
通过以上,我将 fromTime 值作为当前时间 - 24 小时,但我希望 fromTime 作为当前日期 12 AM
输出我得到的是
2019-09-30 14:25:36.105 //toTime
2019-09-29 14:25:36.105 //fromTime
Run Code Online (Sandbox Code Playgroud)
预期输出:
2019-09-30 14:25:36
2019-09-30 00:00:00
Run Code Online (Sandbox Code Playgroud)
帮我解决上面的问题,谢谢。
我有一个如下所示的输入字符串:
VAL:1|b:2|c:3|VAL:<har:919876543210@abc.com>; tag=vy6r5BpcvQ|VAl:1234|name:mnp|VAL:91987654321
Run Code Online (Sandbox Code Playgroud)
像这样,有1000多行。
我想获取第一个参数的值,即a字段和d字段,但对于d我只想要的字段har:919876543210@abc.com。
我试过这样:
cat $filename | grep -v Orig |sed -e 's/['a:','d:']//g' |awk -F'|' -v OFS=',' '{print $1 "," $4}' >> $NGW_DATA_FILE
我得到的输出如下:
1,<har919876543210@abc.com>; tag=vy6r5BpcvQ
Run Code Online (Sandbox Code Playgroud)
我想要这样
1,har:919876543210@abc.com
Run Code Online (Sandbox Code Playgroud)
我在哪里犯了错误,我该如何解决?