小编mar*_*ark的帖子

在 Flutter 中下拉到 REFRESH

我的仪表板代码看起来像这样,这里我在 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)

dart flutter

20
推荐指数
2
解决办法
4万
查看次数

客户端中的握手错误:颤振中的 CERTIFICATE_VERIFY_FAILED 自签名证书

我正在从我的 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)

ssl dart flutter dio

9
推荐指数
2
解决办法
8879
查看次数

Flutter 中一次只能选中一个复选框

我的应用程序中有一个 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)

flutter

6
推荐指数
2
解决办法
2万
查看次数

修复 flutter 中数据表的顶行

我有一个数据表,由于可用数据量的原因,该数据表可以水平和垂直滚动。我希望指定列名称的顶行在向下滚动时始终可见。

代码:代码中没有问题我得到了结果,但是当我向下滚动时标题不会显示。任何人都可以帮助我如何修复标题(第一行)。

我的标题(第一行)元素随着每个请求而不断变化,其实现方式是,单击它击中 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

5
推荐指数
1
解决办法
7776
查看次数

在 flutter 中水平滑动标签栏

我的 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)

代码的输出是, 上面代码的结果,我要点击每个选项卡,滑动不来

dart flutter

4
推荐指数
1
解决办法
7824
查看次数

获取飞镖中特定日期的开始时间

嗨,我正在尝试将开始时间作为当前日期 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)

帮我解决上面的问题,谢谢。

time datetime date dart flutter

1
推荐指数
1
解决办法
989
查看次数

如何使用 sed 命令获取特定字符串

我有一个如下所示的输入字符串:

   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)

我在哪里犯了错误,我该如何解决?

awk grep sed

1
推荐指数
1
解决办法
76
查看次数

标签 统计

flutter ×6

dart ×4

awk ×1

date ×1

datetime ×1

dio ×1

grep ×1

sed ×1

ssl ×1

time ×1