问题描述
我当前的图像组件会映射文件夹中的所有图像并显示它们,但是我想过滤掉我的两个图像,这样我就可以将它们应用于另一个页面,而不是与其他所有图像一起显示在当前页面上我的文件夹。
我有一张要过滤掉的图像background.jpg
和background-2.jpg
const data = useStaticQuery(graphql`
query {
allFile(filter: { extension: { regex: "/(jpg)|(png)|(jpeg)/" },// So this line filters out background.jpg,but I can't seem to
filter out both background.jpg and background-2.jpg?
base: {ne: "background.jpg"}
}) {
edges {
node {
base
childImageSharp {
fluid(maxHeight: 600,maxWidth: 600) {
...GatsbyImageSharpFluid
}
}
}
}
}
}
`)
解决方法
您可以使用mvn test -DthreadCount=5
(甚至另一个正则表达式)或name
规则过滤节点nin
。
ne
上面的查询应该可以解决问题。如果不是,则可以始终使用const data = useStaticQuery(graphql`
query {
allFile(filter: {
extension: { regex: "/(jpg)|(png)|(jpeg)/" } }
name: {ne: "background"})
{
edges {
node {
base
childImageSharp {
fluid(maxHeight: 600,maxWidth: 600) {
...GatsbyImageSharpFluid
}
}
}
}
}
}
`)
规则创建例外数组,或使用另一个正则表达式排除背景名称。
更多信息:https://www.gatsbyjs.com/docs/graphql-reference/#filter