【问题标题】:Keyboard not popping up when testing plaid_flutter with iOS simulator使用 iOS 模拟器测试 plaid_flutter 时没有弹出键盘
【发布时间】:2021-03-26 09:28:10
【问题描述】:

当我尝试在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)"),
              ),
                ],
          ),
        ),
      ),
    );
  }
}

pubspec.yaml中包含以下内容

依赖: 扑: sdk:颤动

cupertino_icons: ^1.0.1 格子颤振:^1.1.6 http: ^0.12.0+2

【问题讨论】:

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

标签: flutter dart plaid


【解决方案1】:

只需按Command + Control + K 键。

【讨论】:

    猜你喜欢
    • 2011-05-07
    • 1970-01-01
    • 2021-11-22
    • 2014-07-24
    • 2019-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多