博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态拖拽编辑表单,后端不提供对象和id
阅读量:7136 次
发布时间:2019-06-28

本文共 845 字,大约阅读时间需要 2 分钟。

前段时间,公司要做一个自定义的表单,但是后端设计不提供给前端id和对象,要动态编辑表, 效果图如下:

设计需求是:左边的表单项通过拖拽可到中间的模型区域,中间的区域可自由拖拽,以此改变列表顺序,点击每个item。可以进行右边的表单动态编辑,其中拖拽是引用的 ,而后台的数据接口是:

[{title: `${title}`,tip: `${tip}`,inputType: `${inputType}`,isBuildIn: false,required: false,options: ['a', 'b', 'c'], // 选项maxLength: "",unit: "",isDateTime: "",isSingleSelect: ""},...]复制代码

其中选择框下面的选项卡是属于动态添加,删除。 如果后台给定options里面拿过来的数据是下面这种形式。那么vue的双向绑定就可以直接关联实现。

[{id: 1, val: 'aaa'}, {id: 2, val: 'bbb'}]复制代码

由此我要想办法在渲染的时候自己手动将options内的字符串遍历之后生成对象,再在页面进行展示,在提交的时候,又将对象里面的val值push到表单数据的options里面。但是options不是所有的表单数据都有值,在比对赋值时,完全根据index来生成数据,那么回填的问题就解决了。

下面是新增的时候,怎么生成数据来展示,以index同样的思路,我们在拖拽左边的list到中间模型的时候,不管是有optins选项的还是没有的options选项,我们需要一个空数组来进行标记,否则我的index就会查找失败。而在有options时,我们点击新增的时候,此时我们就必须选择到相对应的options的二维数组里面的子数组进行数据的绑定。由此才能一一对应

我们渲染的数据是一个二维数组,根据index来进行一一对应,在项目开发中,非常不建议这么操作,但是我在长沙,长沙人民的开发思维我很无奈。

转载地址:http://frtrl.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
java转换是json需要的jar包导致的问题,
查看>>
mac安装brew和nginx
查看>>
技术博客
查看>>
关于ssh远程登录太慢的解决方法
查看>>
子类化QMainWindows
查看>>
Windows完成端口 IOCP模型(一)
查看>>
修改roo的密码 虚拟机vmware8.04 Centos 6.3
查看>>
Struts2 注解
查看>>
有关xerosploit运行报错问题的有效解决方案
查看>>
ABP官方文档翻译 1.4 启动配置
查看>>
js框架简明
查看>>
Java volatile 关键字
查看>>
http 头信息详解
查看>>
ATS项目更新(4) 更新DLL到远程服务器
查看>>
mac 多显示器焦点快速切换
查看>>
第六周学习进度报告
查看>>
nginx发布静态网页
查看>>
Hadoop 面试题之一
查看>>
有关方法重载的实例(例4-10)
查看>>