因此,我希望有一个select小部件,其中的选项是基于一些我必须查询的动态数据。但是,自定义小部件在导入useStaticQuery时似乎会中断。
下面给我的是“CMS中没有控制小部件”。没有useStaticQuery导入,它可以正常工作。
import React from 'react';
import { useStaticQuery, graphql } from "gatsby"
export class CustomControl extends React.Component {
render() {
return (
<div>
...
</div>
)
};
}
export const CustomPreview = (props) => {
return (
<div></div>
);
}
通常,是否有最好的方法/实践来创建能够处理动态值的自定义小部件?
更新:
我已经尝试了关系小部件没有运气。我有一个集合中的现有数据,但似乎无法从小部件中访问它。有人有我可以离开的工作版本吗?
指的是“数据”的集合:
- label: Team
name: team
folder: 'src/pages/team'
create: true
fields:
- {label: 'Name', name: 'name', widget: string}
以及关系小部件:
- label: 'Relation widget'
name: 'relationWidget'
widget: 'relation'
collection: 'team'
searchFields: ['name']
valueField: 'name'
displayFields: ['name']
发布于 2021-12-20 10:16:48
使用NetlifyCMS结构,访问其他数据的最佳方法是通过关系小部件而不是查询。
然而,为了真正看到这一工作,该网站需要现场。不能在本地模拟数据。也就是说,您不能转到localhost:8000/admin,然后看到关系小部件拉动任何东西。
(这有点麻烦,因为您还必须对用户进行身份验证,并重新构建整个站点,只需查看一个更改。似乎您应该能够在本地查询或只运行CMS,并以这种方式处理它)
更新
为了通过关系小部件传递多个值: value_field:“{{value1}}-{value2}}”
创建代理服务器以在本地运行CMS。netlifyCMS目前仍处于测试阶段,但似乎运行良好。https://www.netlifycms.org/docs/beta-features/
https://stackoverflow.com/questions/70384240
复制