【发布时间】:2020-03-19 13:00:39
【问题描述】:
按照这里的盖茨比教程https://www.gatsbyjs.org/docs/adding-tags-and-categories-to-blog-posts/,可以按标签过滤帖子以轻松创建标签页面...
我想要实现的是为具有相同 slug 前缀的帖子创建索引页面:
- /folder1/sub1/post-A
- /folder1/sub1/post-B
- /folder1/sub2/post-C
将创建 3 个索引页面:
- /folder1/(包含三个帖子)
- /folder1/sub1/(包含帖子A和B)
- /folder1/sub2/(仅包含帖子C)
这将使用如下查询:
export const query = graphql`
query tagListQuery($prefix: String, $skip: Int!, $limit: Int!) {
allMarkdownRemark(
sort: { fields: [frontmatter___date], order: DESC }
filter: { fields: { slug: { startsWith: $prefix } } }
limit: $limit
skip: $skip
) {
edges {
node {
id
frontmatter {
title
}
fields {
slug
}
}
}
}
}
`
但是startsWith过滤不存在:
"message": "字段\"startsWith\" 未按类型定义 StringQueryOperatorInput。”
有没有办法使用与 graphQL 的前缀匹配进行过滤?
【问题讨论】:
标签: reactjs graphql gatsby graphql-js