无法使用react-jsonschema-form-extras

时间:2019-07-01 13:53:14

标签: reactjs react-jsonschema-forms

我正在尝试使用react-jsonschema-form-extras将React表单显示为表格,并出现以下错误:

"TypeError: Cannot read property 'tableCols' of undefined"

我正在使用react-jsonschema-form和react-jsonschema-form-extras创建一个React表单。除了“” ui:field“:” table“”之外,所有功能都对我来说完美无缺。 See GitHub documentation.

const schema = {
  "type": "object",
  "properties": {
    "listOfStrings": {
      "type": "array",
      "title": "A list of strings",
      "items": {
        "type": "string",
        "default": "bazinga"
      }
    }
  }
}

const uiSchema = {
  "listOfStrings": {
    "ui:field": "table"
  }
}

const formData = {
  "listOfStrings": [
    "foo",
    "bar"
  ]
}

根据文档,您可以使用表而无需任何其他预定义配置。 我也尝试定义表列:

const uSchema = {
  "listOfStrings": {
    "ui:field": "table",
    "table": {
      "tableCols": [
        {
        "dataField": "listOfStrings"
        }
      ]
    }
  }
}

导致以下错误:

"TypeError: Cannot convert undefined or null to object"

1 个答案:

答案 0 :(得分:0)

您尚未正确定义架构。类型对象中的项又是类型对象,它具有您想要属性的属性。

沙箱:https://codesandbox.io/s/silly-satoshi-jt4jw

-

const schema = {
  "type": "object",
  "properties": {
    "listOfStrings": {
      "type": "array",
      "title": "A list of strings",
      "items": {
       "type": "object",
        "properties": {
          string1: { type: "string", default: "bazinga" },
          string2: { type: "string" }
        }
      }
    }
  }
}

const uiSchema = {
  "listOfStrings": {
    "ui:field": "table"
  }
}

const formData = {
  "listOfStrings": [
    "foo",
    "bar"
  ]
}