【问题标题】:How to make GraphQL playground not display selected options?如何使 GraphQL 游乐场不显示选定的选项?
【发布时间】:2021-03-28 05:40:36
【问题描述】:

我在操场上有这样的景色:

但是当我尝试添加另一个选项来选择时,我点击了CTRL + space,我看到了所有可能的选项,甚至是已经选择的选项。

我怎样才能阻止这种情况发生?在下拉列表中,我只想查看我仍然可以选择的选项,而不是已经选择的选项。

这是我的 index.ts

const app = express();

(async () => {
  const schema = await buildSchema({ resolvers: [ UserResolvers ] });

  const server = new ApolloServer({ schema });

  server.applyMiddleware({ app });
  createConnection({
    type: 'mysql',
    ...dbData,
    entities: [
      Availability,
      Chat,
      Meeting,
      Message,
      Offer,
      Tag,
      User,
    ],
    synchronize: true,
    logging: true,
  })
    .then(() => {
      app.listen({ port: 4000 }, () => {
        console.log(
          `???? Server ready at http://localhost:4000${ server.graphqlPath }`,
        );
      });
    })
    .catch((error) => console.log(error));
})();

【问题讨论】:

  • 在 graphiql github 问题上发布功能请求? ...如果还没有的话
  • 那么目前没有办法做到吗?
  • IDK,在项目站点/repo 上查看? ... fork 它,实施,做 PR ...如果它对你很重要?

标签: javascript typescript graphql graphql-playground


【解决方案1】:

没有选项可以更改此行为。您可以在 GraphiQL 存储库中打开一个问题(GraphQL Playground 已被有效弃用,并将合并到 GraphiQL 中)以请求此功能。

但是,也不太可能支持此类功能。重复的字段名称在 GraphQL 中完全有效。此外,为字段的每个实例使用不同的别名和不同的参数集多次请求同一字段的情况并不少见:

query {
  activeUsers: users(isActive: true) {
    ...UserFragment
  }
  inactiveUsers: users(isActive: false) {
    ...UserFragment
  }
}

在这种情况下,仅仅因为它已经包含在选择集中而从建议列表中省略一个字段是没有意义的。

【讨论】:

    猜你喜欢
    • 2021-04-03
    • 2020-05-16
    • 1970-01-01
    • 2017-06-23
    • 2021-05-13
    • 2019-12-03
    • 2020-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多