js各种赋值,第1张

文章目录

数组赋值

表单赋值

对象赋值

**两个JSON对象直接赋值**

数组赋值

1.this.object= Object.assign({}, record)

1

2._.assign(object, [sources]) 

1

这方法会改变 object/docs/lodash.assign

3._.set(this.table, 'loadData', data)

  this.$set( this.table,'loadData1',val)  // 一般用于对象赋值,可以给到对象get和set方法   很好

1

2

4.let data = _.get(res, 'data.records')

1

5.    

    this.loadData.splice(0,this.loadData.length) //一开始初始化this.loadData,看情况要不要初始化

    //(数组初始化不要直接用this.loadData=[],因为只是一个空数组没有方法,会无法绑定,表格出不来(多次调用整个方法的情况下))

    setTable1 (val,dsName){

        val.forEach((item,index)=>{ //循环赋值,若使用push记得一开始初始化,要不然多次点击会越来越多

            this.loadData.push(item)   //或this.loadData[index]=item

      })


//小程序

this.setData({

    ['partsList.front['+i+'].choose']:!this.data.partsList.fron[i].choose

})        

this.setData({[`showIndex[${i}].isShow`]: !this.data.showIndex[i].isShow})


表单赋值

this.form.setFieldsValue({ username: record.username })

this.form.setFieldsValue({ ...record })

1

2

// 重置

this.form.resetFields()

this.$refs['table-search-ref'].resetFields()

 <a-button style="margin-left: 8px" @click="() => this.form.resetFields()">重置</a-button>


this.form.getFieldValue('selectedRole')

1

对象赋值

直接用“=”其实会复制地址,改变一个另一个就会变,要用: 对象层级大于2层时,子孙级会改变时,要用深拷贝scope.buttonParts = .cloneDeep(.assign({}, buttonParts, scope.buttonParts))

方法一:Object.assign

function copy(obj){

    return Object.assign({}, obj);

}

方法二:…展开运算符

function copy(obj){

    return { …obj };

}

方法一,方法二是浅拷贝,也就是当对象层级大于2层时,复制到的还是地址信息

let a = {age:1,

         jobs: {first:'FE’} 

        }

let b = copy(a) 

a.jobs.first ='native'

console.log(b.jobs.first)// native

方法三:JSON

function copy(obj){

    return JSON.parse(JSON.stringify( obj ));

}

会忽略undefined,fn

不能序列化函数

不能解决循环引用的对象

方法四:MessageChannel

function structuralClone(){

    return new Promise(resolve =>{

        const {port1,port2} = new MessageChannel()

        port2.onmessage = ev => resolve(ev.data)

        port1.postMessage(obj)

    })

}

obj2  = await structuralClone(obj1);


bankAccountMap: {},addressMap: {},

1

let index = 0

for (const item in res.data) {

     this.bankAccountMap[index] = item

     this.addressMap[index] = res.data[item]

     index++

}

//item是属性名称res.data[item]是属性值

this.bankAccountMap = item{...res.data}

1


<div :style="{textAlign:getValue(record,'options.fontStyle.textAlign')}">

1

_.set(this.table, 'loadData', data)

this.$set( this.table,'loadData1',val)  // 可以给到对象get和set方法   很好

1

2

this.bankAccountMap = Object.assign({},this.bankAcoount)

1

两个JSON对象直接赋值

temQueryInfo: {

  pageIndex: 1,

  pageSize: 15,

  filter: {}

},

queryInfo: {

  pageIndex: 1,

  pageSize: 15,

  filter: {

    prOrgNo: this.$store.getters.userInfo.orgNo,

    superviseType: null,

    handleStatus: null,

    checkBeginDate: checkBegin,

    checkEndDate: null,

    tgNo: null,

    superviseUser: null

  }

},


this.temQueryInfo = JSON.parse(JSON.stringify(this.queryInfo))

————————————————

版权声明:本文为CSDN博主「ppphhz」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/phhzhhh/article/details/121676560

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » js各种赋值

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情