繁体   English   中英

KeystoneJs 虚拟字段不能使用自定义字段类型

[英]KeystoneJs virtual field cannot use a custom field type

我需要以只读形式显示一个 json/object,并为它编写了一个自定义字段类型,但是当我使用 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);
      },
    },
  }
}

如果为 graphql 生成的架构中不存在复杂类型详细信息,则必须提供它们。

在您的情况下,当您执行JSON.stringify时,您可以像这样使用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);
      },
    },
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM