相关疑难解决方法(0)

如何有条件地在 GraphQL 查询中包含过滤参数?

我有以下 GraphQL 查询(使用 Apollo Client JS):

query GetUsers($searchFilter: String) {
    users(
        first: 10,
        filter: { search: $searchFilter }
    ) {
        nodes {
            id
            name
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我传递参数时,这很有效$searchFilter。但是,我希望这个$searchFilter参数是可选的。因此,当它出现时,null它不会应用过滤器。

这看起来很简单,但 API 要求search不可为空。filter: { search: null }所以不允许传入。

我想实现以下目标:

query GetUsers($searchFilter: String) {
    users(
        first: 10,
        filter: $searchFilter = null ? null : { search: $searchFilter }
    ) {
        nodes {
            id
            name
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我如何有条件地包含filter参数?

javascript apollo graphql

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

apollo ×1

graphql ×1

javascript ×1