lljj-x / vue-json-schema-form

基于Vue/Vue3,Json Schema 和 ElementUi/antd/iview3/naiveUi 等生成 HTML Form 表单,用于活动编辑器、h5编辑器、cms等数据配置;支持可视化生成表单Schema 。 Generate a form using Vue/Vue3, Json Schema and ElementUi/antdv/iview3/naiveUi
https://form.lljj.me/
Apache License 2.0
2.01k stars 418 forks source link

当下拉组件设置为允许添加时,对于添加的选项不应校验失败:`应当是预设定的枚举值之一` #298

Closed wll8 closed 1 year ago

wll8 commented 1 year ago

当下拉组件设置为允许添加时,对于添加的选项不应校验失败:应当是预设定的枚举值之一

组件库属性参考: 创建新的选项

vue和ui框架

问题描述

当下拉组件设置为允许添加时,对于添加的选项不应校验失败:应当是预设定的枚举值之一

如何复现

使用一个 element-plus 下拉单选组件,并设置允许添加属性:

"ui:options": {
    "filterable": true,
    "allowCreate": true
},

playground

期望的结果

lljj-x commented 1 year ago

这种属于打破schema规范的,就直接用ui配置

https://vue-json-schema-form.lljj.me/zh/guide/faq.html#select%E7%AD%9B%E9%80%89%E6%A1%86%E7%9A%84%E5%80%BC%E5%8F%AF%E4%BB%A5%E5%8A%A8%E6%80%81%E9%85%8D%E7%BD%AE%E5%90%97

wll8 commented 1 year ago

这种属于打破schema规范的 的意思是说动态增加 enum 在 json schema 中是不允许的是吗?

如果确实如此,那么是否有选项忽略此行为?毕竟要自己实现逻辑来支持本来就有此功能的组件选项,习惯上有一些难受。

lljj-x commented 1 year ago

我印象中是jsonSchema 是没有这种语法,你可以再查查看。

数据都是需要先符合schema定义的结构,所以这个忽略还是一样 要先json Schema支持