WillPopScope的回调没有在我预期的时候被触发。我如何WillPopScope在 a 内部使用,Navigator以便路由可以处理它自己的后压行为。
我正在学习使用颤振,我遇到Navigator了创建多个页面的情况(我知道还有其他导航小部件,但我正在寻找只支持程序导航的东西,所以我可以处理所有的用户界面)。
我想看的下一件事Navigator是返回,我发现WillPopScope它包装了一个组件并有一个回调,当按下后退按钮时(如果组件被渲染)被调用。这对我来说似乎很理想,因为我只希望在呈现 Widget 时调用回调。
我尝试WillPopScope在 a 中Navigator使用,目的是仅渲染路由在onWillPop按下后退按钮时调用它的回调 ( ),但放入WillPopScopeaNavigator什么都不做(不调用回调)。
目的是Navigator导航到顶级路线,而这些路线本身可能具有Navigators,因此放入WillPopScope内部意味着每个路线(或子路线)负责它自己的后退导航。
我抬头一看很多问题似乎集中MaterialApp,Scaffold或处理导航等方式; 我正在寻找如何在没有这些东西带来的 UI 的情况下处理这个问题(用例可能是一个测验应用程序,你需要点击下一步按钮继续前进,或类似的东西)。
这是main.dart我希望路由 2 处理它自己的后退导航的最小文件(为了简单起见,我没有在这个例子中放置嵌套路由)。
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp( …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 openapi/swagger 文件导入 api 网关,但我无法按预期获得安全设置。我想要一个所有路径都需要的 api 密钥。
导入后在控制台中设置所需的 api 密钥有效,但这种解决方案是不可取的,同样有效的是单独设置每个路径中的安全字段,但我正在寻找一个全局解决方案。
当我尝试导入文件时,我收到以下警告:
Your API was not imported due to errors in the Swagger file.
Method 'GET' on resource '/' specified security,
but no custom authorizers were created and the extension
x-amazon-apigateway-auth was not set.
This method will be not be secured.
Run Code Online (Sandbox Code Playgroud)
如此看来,我要么需要一个 lambda 作为仅用于 api 密钥的自定义授权方(我不熟悉授权方,但如果我在设置所需的 api 密钥时不需要授权方,这似乎没有意义控制台);或者我需要对这个神秘的东西做一些x-amazon-apigateway-auth我找不到文档的事情(亚马逊在此处记录了所有其他 openapi 扩展)。
一个小例子如下:
openapi: 3.0.1
info:
title: test
version: 0
servers:
- url: "/"
security:
- ApiKey: …Run Code Online (Sandbox Code Playgroud)