首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KeystoneJs虚拟字段不能使用自定义字段类型

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

Stack Overflow用户
提问于 2021-04-09 15:18:42
回答 1查看 37关注 0票数 0

我需要以只读的形式显示一个json/对象,并且我为它编写了一个自定义字段类型,但是当我使用一个virtual将其转换为一个字符串以将其传递给自定义字段类型时。我将自定义类型放入args中,但它显示为Error: Unknown type "JsonViewer".

你知道怎么让它工作吗?

代码语言:javascript
复制
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);
      },
    },
  }
}
EN

回答 1

Stack Overflow用户

发布于 2021-05-03 06:14:48

如果在为graphql生成的模式中不存在复杂类型细节,则必须提供这些细节。

在您的例子中,当您正在执行JSON.stringify时,您可以像这样使用String返回类型。顺便说一句,String类型是默认的返回类型,你不需要任何string类型的类型声明。

此外,在keystone Virtual字段中也没有args选项。

代码语言:javascript
复制
const { Virtual } = require("@keystonejs/fields");

module.exports = {
  fields: {
    requestData: {
      type: Virtual,
      graphQLReturnType: `String`,
      resolver: async (json) => {
        return JSON.stringify(json);
      },
    },
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67016689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档