【问题标题】:radio with custom input in alpacajs with jsonschema?带有jsonschema的alpacajs中带有自定义输入的收音机?
【发布时间】:2016-12-22 07:45:17
【问题描述】:

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

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

我该怎么办?谢谢!

澄清:我想输出:

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

【问题讨论】:

    标签: jsonschema alpacajs


    【解决方案1】:

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

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

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

    这里有一个更完整的fiddle

    【讨论】:

    • 看起来很棒!我希望 Alpaca/JSON Schema 将有一种更“内置”的方式来执行此操作,而无需所有自定义代码,但这是可行的。 {"oneOf":"custom","customResponse":"Custom value here"} 的输出类型不如纯字符串简单,但可以轻松过滤。谢谢!
    【解决方案2】:

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

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

    这是一个完整的fiddle,希望对您有所帮助。 如果你想要别的东西,请告诉我。

    【讨论】:

    • 感谢您的回复。小提琴似乎没有更新?我分叉了在链接中找到的滑块示例,并尝试按照您的说明进行操作:jsfiddle.net/24zcpgty 我可能做错了,但它输出了一个空白输入。具体来说,我想输出: ( ) option 1 ( ) option 2 ( ) option 3 (X) custom [此处填空]
    猜你喜欢
    • 2022-07-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-12
    • 2010-09-21
    • 1970-01-01
    • 2020-07-02
    • 2016-10-18
    • 1970-01-01
    相关资源
    最近更新 更多