elementui 学习笔记(1)数据转换

在使用elementui时经常需要将数据转换格式,用来回填数据和请求数据  

  如例子中,可动态增减的form表单,格式为[{name:'a',value:'1'},{name:'b',value:'2'}],发送接口请求时 需要转换为{a:1,b:2},想反在编辑数据时需要将数据回填 又需要反过来转换数据 ;

  转换数据需要有JS数据类型基础,特别时对象和数组的基础知识

1.A对象转化为B对象

  A:对象  {name:"username",value:"dsx"}

  B对象 {username:dsx} 

 1 data:{
 2 headerForm: [{
 3                 name: '',
 4                 value: ''
 5             }],
 6             parameterForm: [{
 7                 name: '',
 8                 value: ''
 9             }]
10 }
11 
12 methods:{
13 set_params_headers() {
14                 // this.parameterForm
15                 // {name:"username",value:"dsx"}---输入类型(this.parameterForm)
16                 // {username:dsx}    ------输出格式
17                 var params = {};
18                 for (var num in this.parameterForm) {
19                     var parameterObj = this.parameterForm[num]
20                     params[parameterObj.name] = parameterObj.value
21                 }
22                 this.form.params = JSON.stringify(params)   //json.dumps   将字典转换为json
23                 console.log(params)
24                 console.log(this.form.params)
25 
26                 // this.headerForm
27                 var headers = {};
28                 for (var num in this.headerForm) {
29                     var headerObj = this.headerForm[num]
30                     headers[headerObj.name] = headers.value
31                 }
32                 this.form.headers = JSON.stringify(headers)  //json.dumps  将对象转换为json
33             },
34 }

1.B对象转化为A对象

  B对象 {username:dsx} 

  A:对象  {name:"username",value:"dsx"}

 1 reset_headers_params(row) {
 2                 // this.parameterForm
 3                 // {username:dsx,passwd:123}-----输入类型
 4                 // [{name:"username",value:"dsx"},{name:'passwd',value:'123'}]   ---输出类型
 5                 if (row) {
 6                     var params_data = []
 7                     var parameterObj = JSON.parse(row)   //json-loads 将json转换为对象
 8                     for (var num in parameterObj) {
 9                         var params = {}
10                         params['name'] = num
11                         params['value'] = parameterObj[num]  //组装成对象
12                         params_data.push(params) //添加到数组
13                     }
14                     this.parameterForm = params_data //初始化到parameterForm
15 
16                     var headers_data = []
17                     var headersObj = JSON.parse(row)
18                     for (var num in headersObj) {
19                         var headers = {}
20                         params['name'] = num
21                         params['value'] = headersObj[num]
22                         headers_data.push(headers)
23                     }
24                     this.headerForm = headers_data
25                 } else {
26                     this.form.params = undefined;
27                     this.form.headers = undefined
28                 }
29             },

  

猜你喜欢

转载自www.cnblogs.com/bugoobird/p/13390025.html