【问题标题】:Multiple select input by "Unique Select" with JSON Schema Form (Retool)使用 JSON Schema Form (Retool) 通过“Unique Select”进行多选输入
【发布时间】:2021-12-04 11:06:02
【问题描述】:

在带有 JSON Schema FormRetool 中,我尝试进行无法选择已选择选项的多选输入(意味着 唯一选择 ) 但我可以做的是可以选择已经选择的选项(意味着独特的选择),如下所示。

如下图,我可以选择已经选择的选项"English",所以"English"被选中了两次。换句话说,我仍然可以选择 "English" 作为第二个多选输入,即使我已经为第一个多选输入选择了 "English"(意味着 唯一选择):

这是 JSON 架构

{
  "type": "object",
  "properties": {
    "languages": {
      "type": "array",
      "items": {
        "type": "string",
        enum: ['English', 'Japanese', 'Chinese'],
      },
    }
  }
}

但是,我真正想要的是 "unique select",而不是像上面那样的 "unique select",它不能选择已经选择的选项,如下所示: p>

有什么方法可以让多选输入不能选择已经选择的选项(意思是唯一选择)?

【问题讨论】:

    标签: reactjs jsonschema multiple-select react-jsonschema-forms retool


    【解决方案1】:

    “语言”下添加“uniqueItems: true”

    {
      "type": "object",
      "properties": {
        "languages": {
          "type": "array",
          uniqueItems: true, // Here
          "items": {
            "type": "string",
            enum: ['English', 'Japanese', 'Chinese'],
          },
        }
      }
    }
    

    这样就可以进行多选输入,不能选择已经选择的选项(意思是唯一选择):

    另外,如果在"languages"下添加"uniqueItems: false,"

    {
      "type": "object",
      "properties": {
        "languages": {
          "type": "array",
          uniqueItems: true, // Here
          "items": {
            "type": "string",
            enum: ['English', 'Japanese', 'Chinese'],
          },
        }
      }
    }
    

    结果是多选输入,可以选择已经选择的选项(表示唯一选择):

    【讨论】:

      猜你喜欢
      • 2021-12-11
      • 2021-12-09
      • 2018-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-31
      • 2014-11-12
      • 2016-07-24
      相关资源
      最近更新 更多