我如何为Apollo Client指定GraphQL查询并获取哪些属性出现相应字符串的项

时间:2017-11-28 09:20:53

标签: javascript graphql apollo apollo-client

在最后几天之前我没有使用GraphQL。我将Apollo客户端与graphql-tag一起使用。现在,我可以从具有此查询的服务器获取城市列表:

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

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

1 个答案:

答案 0 :(得分:2)

country参数应该是一个变量,它将从组件的道具中计算出来。

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

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

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