Apollo客户端Graphql查询变量类型错误

时间:2019-06-19 15:19:03

标签: javascript vue.js graphql apollo-client

我正在尝试执行ID为必填项的删除查询,但出现错误。 “未提供所需类型为“ ID!”的变量“ $ id””

查询

export const DELETE_CUSTOMER = gql`
    mutation deleteCustomer($id:ID!){
        deleteCustomer(
            _id: $id
        )
    }
`

vuex操作中的突变代码

deleteCustomer(vuexContext,id){
        return apollo
        .mutate({
            mutation: DELETE_CUSTOMER,
            variables: id.toString()
        })      
        .then(()=>{
            vuexContext.commit('deleteCustomer',id.toString());
        })
        .catch((err) => {
            throw err;
        });

    }

1 个答案:

答案 0 :(得分:2)

variables选项应该是一个对象,每个属性都映射到查询中引用的单个变量。您不能像这样做一样将单个变量的值分配给variables。正确的方法调用将类似于:

apollo.mutate({
  mutation: DELETE_CUSTOMER,
  variables: { id: id.toString() },
})