Avant-propos :
Lors du développement d'un système récemment, this.setData a toujours des problèmes parfois. J'ai vérifié les informations et les ai résumées :
- affectation sur le terrain ;
-
Affectation statique de tableau ;
-
Affectation dynamique de tableau ;
-
Affectation dynamique d'un tableau d'objets ;
-
Objets de groupe sur lesquels opérer
① Ajoutez des données à la fin ;
② Ajoutez des données au milieu ou au début ;
③ Supprimer les données ;
Regardez directement le code :
Maintenant la définition des données :
testText : '',
testTextArray : ['A','B','C','D','E'],
testTextArrayOfObject : [
{
title : 'title_1',
content : '舞台上的刘德华~刘德华~',
},
{
title : 'title_2',
content : '你是我的观音菩萨,我是你的刘德华',
},
{
title : 'title_3',
content : '再看一眼就会爆炸哦~',
},
{
title : 'title_4',
content : '衣服包包给你换新的',
},
],
En opération onLoad :
- affectation sur le terrain ;
//字段赋值 this.setData({ testText : 'abc' }) console.log("赋值过后的testText : ", this.data.testText);
-
Affectation statique de tableau ;
//数组静态赋值1 this.setData({ 'testTextArray[0]' : 'Xxx' }) console.log("数组静态赋值过后的testTextArray1 : ", this.data.testTextArray); //数组静态赋值2 this.setData({ ['testTextArray[1]'] : 'XXXX' }) console.log("数组静态赋值过后的testTextArray2 : ", this.data.testTextArray);
-
Affectation dynamique de tableau ;
//数组动态赋值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);
Ensuite, vérifiez dans le débogueur :
5. Objets de groupe à exploiter
① Ajoutez des données à la fin ;
//数组对象进行操作 -- 末位加数据
let testArray = {title : '敬请期待!',content : '新神诞生~'};
this.setData({
testTextArrayOfObject : this.data.testTextArrayOfObject.concat(testArray)
})
console.log("数组对象进行操作 -- 末位加数据 过后的testTextArray : ", this.data.testTextArrayOfObject);
② Ajoutez des données au milieu ou au début ;
//数组对象进行操作 -- 开头加数据
let testArray_1 = [{title : '敬请期待!',content : '新神诞生~'}];
this.setData({
testTextArrayOfObject : testArray_1.concat(this.data.testTextArrayOfObject)
})
console.log("数组对象进行操作 -- 末位加数据 过后的testTextArray : ", this.data.testTextArrayOfObject);
③ Supprimer les données ;
//数组对象进行操作 -- 删除数据
let index = 0;
this.data.testTextArrayOfObject.splice(index , 1);//第一个是要删除数据的索引,第二个是需要删除数据的数量
console.log("数组对象进行操作 -- 删除数据 过后的testTextArray : ", this.data.testTextArrayOfObject);
Ensuite, vérifiez dans le débogueur :