zoukankan      html  css  js  c++  java
  • 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             },

      

  • 相关阅读:
    CSS3 Media Queries 片段
    针对移动设备的CSS3布局
    移动Web界面样式-CSS3
    em与px区别-CSS教程
    webApp添加到iOS桌面
    字典(dick)
    元组(Tuple)
    列表(list)
    字符串的常用方法
    运算符
  • 原文地址:https://www.cnblogs.com/bugoobird/p/13390025.html
Copyright © 2011-2022 走看看