vue 如何动态生成表单?

要求表单全部从后台返回的json数据动态生成,我也看了相关问题的回答。就是用v-for循环,然后再在每个item使用v-if判断data.type生成不同的控件。

我想问的是,如果一个页面控件非常多,每个item的v-if判断会影响性能吗,完全的动态生成页面有必要吗?或者有没有更好的办法,求大家支个招,感激不尽。

阅读 7.1k
3 个回答

大部分思路都是这样的,性能问题我觉得不会多考虑,毕竟控件再多也就十几中常用控件,循环次数也就是控件数量*控件种类最大不会超过1000次。

可以使用form-create动态生成表单,form-create 是一个可以通过 JSON 生成具有动态渲染、数据收集、验证和提交功能的表单动态生成组件。并且支持生成任何 Vue 组件。结合内置17种常用表单组件和自定义组件,再复杂的表单都可以轻松搞定。github地址

目前以支持如下 UI

ElementUI 版本

npm i @form-create/element-ui

Iview 版本 2.x|3.x

npm i @form-create/iview

Iview 版本 4.x

npm i @form-create/iview4

Ant-design-vue 版本 1.5.3+

npm i @form-create/ant-design-vue

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题