所以我想要一个选择小部件,其中的选项基于我必须查询的一些动态数据。然而,在导入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']
使用NetlifyCMS结构,访问其他数据的最佳方式是通过关系小部件而不是查询。
然而,为了真正看到这一点,该网站需要直播。您不能在本地模拟数据。也就是说,您不能访问localhost:8000/admin并看到relationship小部件获取任何内容。
更新
为了通过关系小部件传递多个值:value_field:";{{value1}}-{{value2}}";
创建一个代理服务器以在本地运行CMS。netlifyCMS目前仍处于测试阶段,但似乎运行良好。https://www.netlifycms.org/docs/beta-features/