在带有 jsonschema 的 alpajajs 中使用自定义输入的收音机?

radio with custom input in alpacajs with jsonschema?

我正在尝试创建一个包含多个单选输入选项和可选填空项的字段。以下架构似乎无法显示输出:

{
    "oneOf": [
        {
            "enum": [
                "Option 1",
                "Option 2",
                "Option 3"
            ]
        }, {
            "type":"string"
        }
    ]
}

我应该做什么?谢谢!

说明:我想输出:

( ) option 1
( ) option 2
( ) option 3
(X) custom [__fill in the blank here__]

您的架构属性应包含在一个属性对象中,如果 "oneOf" 指的是单选按钮组,则它应该是一个对象而不是数组。

"properties": {
  "oneOf": {
    "required": true,
    "enum": ["option1", "option2", "option3"]
  }, ////

这是完整的 fiddle,希望对您有所帮助。 如果您还想要其他东西,请告诉我。

很抱歉,我不小心覆盖了 fiddle,这是我的错误。谢谢你的澄清。如果你想在你的页面中有那个布局,你必须使用两个不同的组件,一个单选组按钮和一个简单的文本字段,它会自动附加在单选组之后(但你可以使用 jquery 做得更好并将其附加在 Alpaca 的 postRender 函数的不同位置。所以你的 schema 必须是这样的:

"schema": {
  "type": "object",
  "properties": {
    "oneOf": {
      "required": true,
      "enum": ['a', 'b', 'c', 'd']
    },
    "customResponse": {
      "type": "string"
    }
  }
}

我为字段添加了更多选项,例如禁用默认排序、禁用自定义响应的输入文本,因为它必须仅在用户选择第 4 个选项时启用。

这里有一个更完整的 fiddle