zoukankan      html  css  js  c++  java
  • vue中通过后台返回的只动态生成表单及提交

    在crm系统中,页面中表单内容和表单提交的内容都是不固定的,特别是表单内容不确定;是根据后台的需要配置出来;前台根据接口返回;进行渲染,处理后进行提交,这样在vue中就会出现问题;因为vue中的数据是先渲染后使用;所有的数据必须先生命出来,所以这样就造成了这个问题;

    解决方法:

      1.在请求接口;渲染后台需要提交的表单字段的时候;先对所有的需要渲染和提交的表单字段进行遍历,然后存储到data中一个对象中,我写的对象是subParams,这样就可以把所有需要提交的字段提交到subparams中了;

    or(var ke in content[key]){
                            if(ke=='办理情况'){
                                this.subContent=content[key][ke];
                                for(var i=0;i<this.subContent.length;i++)
                                {
                                    if(this.subContent[i].type=="2")
                                    {
                                        var arr = this.subContent[i].value.split(',');
                                        var arr1 = [];
                                        var arr2 = [];
                                        var j=0;
                                        for(var key1 in arr)
                                        {
                                            if(arr[key1]!="")
                                            {
                                                arr1[j]=arr[key1];
                                                arr2[j] = arr[key1];
                                                j++;
                                            }
                                        }
                                        this.ordList[this.subContent[i].fd_name]=new Array(arr1);
                                        if(arr1.length<=1)
                                        {
                                            this.ordvalue[this.subContent[i].fd_name] = new Array(arr1[0]);
                                        }
                                        
                                    }
                                    else if(this.subContent[i].type=="3")
                                    {
                                        var arr = this.subContent[i].value.split(',');
                                        var arr1 = [];
                                        var arr2 = [];
                                        var j=0;
                                        for(var key1 in arr)
                                        {
                                            if(arr[key1]!="")
                                            {
                                                arr1[j]=arr[key1];
                                                arr2[j] = arr[key1];
                                                j++;
                                            }
                                        }
                                        this.ordList[this.subContent[i].fd_name]=new Array(arr1);
                                    }
                                    else
                                    {
                                        this.subParms[this.subContent[i].fd_name]=this.subContent[i].value;
                                    }
                                    
                                }

    这样的话就可以绑定了;然后根据要求渲染,把对应的表单元素渲染成对应的下过,v-model动态绑定到subParms中的值上;最后提交的时候把subParms作为一个对象提交上去就行;

    希望自己写的东西能够对大家有所帮助!谢谢
  • 相关阅读:
    vim 学习笔记系列(前言)
    12306网站推出图片验证 反破解
    如何提升电脑的速度(五年时间收集各家精华,绝对史上最全)
    电脑维修和维护 毕业总结及经验报告
    留学生 电脑安全与维护手册 (留学须知)
    Progress数据库配置与应用
    润乾报表与DERBY数据库的创建连接详解
    图形报表部署在Linux下出现乱码解决办法
    sqlserver为数据库表增加自增字段
    五种常用web服务器jvm参数设置
  • 原文地址:https://www.cnblogs.com/mrxinxin/p/11527618.html
Copyright © 2011-2022 走看看