我需要以只读的形式显示一个json/对象,并且我为它编写了一个自定义字段类型,但是当我使用一个virtual将其转换为一个字符串以将其传递给自定义字段类型时。我将自定义类型放入args中,但它显示为Error: Unknown type "JsonViewer".
你知道怎么让它工作吗?
const { Virtual } = require("@keystonejs/fields");
const JsonViewer = require("@/components/fields/jsonViewer");
module.exports = {
fields: {
requestData: {
type: Virtual,
args: [{ name: "requestData", type: "JsonViewer" }],
resolver: async (json) => {
return JSON.stringify(json);
},
},
}
}发布于 2021-05-03 06:14:48
如果在为graphql生成的模式中不存在复杂类型细节,则必须提供这些细节。
在您的例子中,当您正在执行JSON.stringify时,您可以像这样使用String返回类型。顺便说一句,String类型是默认的返回类型,你不需要任何string类型的类型声明。
此外,在keystone Virtual字段中也没有args选项。
const { Virtual } = require("@keystonejs/fields");
module.exports = {
fields: {
requestData: {
type: Virtual,
graphQLReturnType: `String`,
resolver: async (json) => {
return JSON.stringify(json);
},
},
}
}https://stackoverflow.com/questions/67016689
复制相似问题