reactjs - 使用 JSON Schema Form (Retool) 通过“Unique Select”进行多选输入
问题描述
在Retool with JSON Schema Form中,我尝试进行多项选择输入,该输入无法选择已选择的选项(表示唯一选择),但我可以做的是可以选择已选择的选项(表示唯一选择)的选项,如下所示.
如下图,我可以选择已经选择的选项“English”,所以“English”被选中了两次。换句话说,即使我已经为第一个多选输入选择了“English”(意味着ununique select ),我仍然可以为第二个多选输入选择“ English” :
这是JSON 模式:
{
"type": "object",
"properties": {
"languages": {
"type": "array",
"items": {
"type": "string",
enum: ['English', 'Japanese', 'Chinese'],
},
}
}
}
但是,我真正想要的是“唯一选择”,而不是像上面那样的“唯一选择” ,它不能选择已经选择的选项,如下所示:
有什么方法可以进行无法选择已选择选项的多选输入(意味着唯一选择)?
解决方案
在“语言”下添加“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'],
},
}
}
}
结果是可以选择已经选择的选项的多选输入(意味着唯一的选择):
推荐阅读
- javascript - 从javascript中的数组中删除特定对象
- php - 通过php类中的变量引用或调用函数
- php - Github API 添加用户到私有仓库
- google-chrome - Chrome 扩展内容脚本 - 用户可以查看源代码吗?
- php - 如何使用引导程序创建自定义模式
- python - 无法使用“root.top-self.height”在 kivy 中正确放置
- java - Akka 缺少配置属性 Akka.Version Akka.Stream
- swift - Swift 中不同视图控制器的不同 UIKeyCommand 数组
- spring-boot - 使用 java S2I 在 openshift 中构建带有 gradle 的 Spring Boot 应用程序
- c# - .Net Core 在 MongoDB 中插入 BsonDocument 后获得响应