前言:

        之最近在开发一个系统的时候,this.setData总有时候会出问题,查了查资料,一下进行总结:

字段赋值; 数组静态赋值; 数组动态赋值; 对象数组动态赋值; 组对象进行操作

        ① 末位加数据;

        ② 中间或者开头加数据;

        ③ 删除数据;

直接看代码:

现在data定义:

testText : '',

testTextArray : ['A','B','C','D','E'],

testTextArrayOfObject : [

{

title : 'title_1',

content : '舞台上的刘德华~刘德华~',

},

{

title : 'title_2',

content : '你是我的观音菩萨,我是你的刘德华',

},

{

title : 'title_3',

content : '再看一眼就会爆炸哦~',

},

{

title : 'title_4',

content : '衣服包包给你换新的',

},

],

在onLoad操作:

        

字段赋值; //字段赋值

this.setData({

testText : 'abc'

})

console.log("赋值过后的testText : ", this.data.testText); 数组静态赋值; //数组静态赋值1

this.setData({

'testTextArray[0]' : 'Xxx'

})

console.log("数组静态赋值过后的testTextArray1 : ", this.data.testTextArray);

//数组静态赋值2

this.setData({

['testTextArray[1]'] : 'XXXX'

})

console.log("数组静态赋值过后的testTextArray2 : ", this.data.testTextArray); 数组动态赋值; //数组动态赋值1:

for(var i = 0 ; i < this.data.testTextArray.length ; i ++){

this.setData({

['testTextArray[' + i + ']'] : 'X'

})

}

console.log("数组动态赋值1过后的testTextArray : ", this.data.testTextArray);

//数组动态赋值2:

for(var i = 0 ; i < this.data.testTextArray.length ; i ++){

let content = 'testTextArray[' + i + ']';

this.setData({

[content] : 'Y'

})

}

console.log("数组动态赋值2过后的testTextArray : ", this.data.testTextArray);

 然后在调试器里面检查:

        5. 组对象进行操作

                ① 末位加数据;

//数组对象进行操作 -- 末位加数据

let testArray = {title : '敬请期待!',content : '新神诞生~'};

this.setData({

testTextArrayOfObject : this.data.testTextArrayOfObject.concat(testArray)

})

console.log("数组对象进行操作 -- 末位加数据 过后的testTextArray : ", this.data.testTextArrayOfObject);

                ② 中间或者开头加数据;

//数组对象进行操作 -- 开头加数据

let testArray_1 = [{title : '敬请期待!',content : '新神诞生~'}];

this.setData({

testTextArrayOfObject : testArray_1.concat(this.data.testTextArrayOfObject)

})

console.log("数组对象进行操作 -- 末位加数据 过后的testTextArray : ", this.data.testTextArrayOfObject);

                ③ 删除数据;

//数组对象进行操作 -- 删除数据

let index = 0;

this.data.testTextArrayOfObject.splice(index , 1);//第一个是要删除数据的索引,第二个是需要删除数据的数量

console.log("数组对象进行操作 -- 删除数据 过后的testTextArray : ", this.data.testTextArrayOfObject);

然后在调试器里面检查:

 

好文阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: