Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 使用iOS模拟器测试格子花纹颤振时键盘未弹出_Flutter_Dart_Plaid - Fatal编程技术网

Flutter 使用iOS模拟器测试格子花纹颤振时键盘未弹出

Flutter 使用iOS模拟器测试格子花纹颤振时键盘未弹出,flutter,dart,plaid,Flutter,Dart,Plaid,当我尝试在iOS模拟器的Plaid界面中输入用户登录详细信息时,键盘没有显示 谁能给我一个解决这个问题的办法吗 以下是我使用的确切代码: import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; import 'package:plaid_flutter/plaid_flutter.dart'; void main() => runApp

当我尝试在iOS模拟器的Plaid界面中输入用户登录详细信息时,键盘没有显示

谁能给我一个解决这个问题的办法吗

以下是我使用的确切代码:

import 'dart:convert';

import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'package:plaid_flutter/plaid_flutter.dart';

void main() => runApp(MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  PlaidLink _plaidLinkToken;
  var newpublicToken;
  var CLIENT_ID = "NTER YOUR PLAID CLIENT ID";
  var SECRET = "ENTER YOUR PLAID SECRET";
  var unique_per_user = "user_good";

  @override
  void initState() {
    super.initState();
    getLinkToken();
  }

  getLinkToken() async {
    var headers = {
      'Content-Type': 'application/json',
    };

var data =
    '{ "client_id": "$CLIENT_ID", "secret": "$SECRET", "user": { "client_user_id": "$unique_per_user" }, "client_name": "Plaid App", "products": ["auth"], "country_codes": ["US"], "language": "en", "webhook": "https://sample-web-hook.com", "account_filters": { "depository": { "account_subtypes": ["checking"] } } }';

    var res = await http.post('https://sandbox.plaid.com/link/token/create',
        headers: headers, body: data);
    if (res.statusCode != 200)
      throw Exception('http.post error: statusCode= ${res.statusCode}');
    print(res.body);

    Map<String, dynamic> responseJson = json.decode(res.body);
    var response_link_token = responseJson['link_token'];
    print(response_link_token);

    LinkConfiguration linkTokenConfiguration = LinkConfiguration(
      linkToken: "$response_link_token",
    );

    _plaidLinkToken = PlaidLink(
      configuration: linkTokenConfiguration,
      onSuccess: _onSuccessCallback,
      onEvent: _onEventCallback,
      onExit: _onExitCallback,
    );
  }

  void _onSuccessCallback(String publicToken, LinkSuccessMetadata metadata) {
    print("onSuccess: $publicToken, metadata: ${metadata.description()}");
    newpublicToken = publicToken;
  }

  void _onEventCallback(String event, LinkEventMetadata metadata) {
    print("onEvent: $event, metadata: ${metadata.description()}");
  }

  void _onExitCallback(String error, LinkExitMetadata metadata) {
    print("onExit: $error, metadata: ${metadata.description()}");
  }
  
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Container(
          width: double.infinity,
          color: Colors.lightBlue,
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              RaisedButton(
                onPressed: () => _plaidLinkToken.open(),
                child: Text("Open Plaid Link (Link Token)"),
              ),
                ],
          ),
        ),
      ),
    );
  }
}

导入'dart:convert';
进口“包装:颤振/材料.省道”;
将“package:http/http.dart”导入为http;
进口“包装:格子花飘飘/格子花飘飘.飞镖”;
void main()=>runApp(MyApp());
类MyApp扩展了StatefulWidget{
@凌驾
_MyAppState createState()=>\u MyAppState();
}
类MyAppState扩展了状态{
PlaidLink(plaidLinkToken);
var newpublicToken;
var CLIENT_ID=“输入您的格子客户ID”;
var SECRET=“输入您的格子图案密码”;
var unique_per_user=“user_good”;
@凌驾
void initState(){
super.initState();
getLinkToken();
}
getLinkToken()异步{
变量头={
“内容类型”:“应用程序/json”,
};
var数据=
“{”client_id:“$client_id”,“secret:“$secret”,“user:”{”client_user_id:“$unique_per_user”},“client_name:“Plaid App”,“products:”[“auth”],“country_code:“[“US”],“language:“en”,“webhook”:”https://sample-web-hook.com“,“account_filters”:{“depository”:{“account_子类型”:[“checking”]}};
var res=wait http.post('https://sandbox.plaid.com/link/token/create',
标题:标题,正文:数据);
如果(res.statusCode!=200)
抛出异常('http.post错误:statusCode=${res.statusCode}');
印刷品(正文);
Map responseJson=json.decode(res.body);
var response_link_token=responseJson['link_token'];
打印(响应链接令牌);
LinkConfiguration linkTokenConfiguration=LinkConfiguration(
linkToken:“$response\u link\u token”,
);
_plaidLinkToken=PlaidLink(
配置:linkTokenConfiguration,
onSuccess:\u onSuccessCallback,
OneEvent:\u onEventCallback,
onExit:_onExit回调,
);
}
void _onSuccessCallback(字符串publicToken,LinkSuccessMetadata元数据){
打印(“onSuccess:$publicToken,元数据:${metadata.description()}”);
newpublicToken=publicToken;
}
void\u onEventCallback(字符串事件,LinkEventMetadata元数据){
打印(“onEvent:$event,metadata:${metadata.description()}”);
}
void _onExitCallback(字符串错误,LinkExitMetadata){
打印(“onExit:$error,metadata:${metadata.description()}”);
}
@凌驾
小部件构建(构建上下文){
返回材料PP(
家:脚手架(
主体:容器(
宽度:double.infinity,
颜色:颜色。浅蓝色,
子:列(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
升起的按钮(
onPressed:()=>\u plaidLinkToken.open(),
子项:文本(“打开格子线链接(链接令牌)”,
),
],
),
),
),
);
}
}
pubspec.yaml

依赖项: 颤振: sdk:颤振

cupertino_图标:^1.0.1 格子布颤振:^1.1.6
http:^0.12.0+2

只需按
Command+Control+K
键。

只需按
Command+Control+K
键。

这适用于Flatter中的普通文本字段,但与PlaidLink登录一起使用时不会弹出!如果我禁用“连接硬件键盘”,iOS键盘会弹出,但它不允许我使用键盘打字!只需按Command+Control+K键。这适用于颤振中的普通文本字段,但在使用PlaidLink登录时不会弹出!如果我禁用“连接硬件键盘”,iOS键盘会弹出,但它不允许我使用键盘打字!只需按Command+Control+K键。