javascript - 如何为 Apollo 客户端指定 GraphQL 查询并获取属性中出现适当字符串的项目

标签 javascript graphql apollo apollo-client

在最后几天之前我没有使用过 GraphQL。我将 Apollo Client 与 graphql-tag 结合使用。现在我可以使用以下查询从服务器获取城市列表:

query {
    cities(country:countryName, limit:30){
      id
      name
  }    
}

但我只想获取名称(name 属性)出现用户键入的字符串的城市。它应该像自动完成一样工作。例如,当用户输入 san 时,我想获取 San Francisco、San Jose、San Juan...的对象数组。是否可以在客户端完成,或者我应该向后端开发人员询问?

最佳答案

country 参数应该是一个变量,它将根据组件的 props 进行计算。

query ($country: String) {
  cities(country: $country, limit: 30) {
    id
    name
  }
}

您的输入应位于组件的父组件中,该组件将通过 country 属性传递值。

查看this沙箱为例。您可以看到架构和解析器 here

关于javascript - 如何为 Apollo 客户端指定 GraphQL 查询并获取属性中出现适当字符串的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47527902/

相关文章:

javascript - 选择伪元素 :focus and :active via JS

javascript - 单击其他按钮后如何取消突出显示按钮(Web CSS Bootstrap)

graphql - 当 Playground 被禁用时, Apollo 服务器返回缺少的 GET 查询

GraphQL 条件必填字段指令

graphql - GatsbyJs - 如何从 Contentful 插件处理空的 graphql 节点

apollo - 如何在 apollo-link-error 中访问 apollo 客户端到 resetStore?

apollo - 如何强制 Apollo Client 使用缓存数据

javascript - 在 Ember 中,我可以将标记传递给组件吗?

javascript - 如何在 JavaScript 中删除字符串中的重复单词?

ios - 嵌套查询 GraphQL : Syntax error - iOS