使用jsonschema在alpacajs中自定义输入的收音机?

时间:2016-12-22 07:45:17

标签: jsonschema alpacajs

我正在尝试使用多个无线电输入选项创建一个字段,并在空白处填充可选项。以下架构似乎无法显示输出:

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

我该怎么办?谢谢!

澄清:我想输出:

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

2 个答案:

答案 0 :(得分:1)

对不起,这是我的错误,我意外地压倒了那个小提琴。谢谢你的澄清。如果你想在你的页面中有这样的布局,你必须使用两个不同的组件,一个无线电组按钮和一个简单的文本字段,自动将附加在无线电组后面(但你可以使用jquery做得更好,并将其附加到不同的地方在羊驼的 postRender 功能中。所以你的schema必须是这样的:

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

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

这里有一个更完整的fiddle

答案 1 :(得分:0)

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

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

这是一个完整的fiddle,希望它有所帮助。 告诉我你是否想要别的东西。