前端js vue遇到的一些简单的数据处理-持续更新

1. 数据处理: 直接从后台返回数据取出自己想要的属性,并将其修改成自己想要的属性名:

list - 为需要处理的数组
value label: 是想要需要的属性名
item.nichname item.nickname,是上面需要被修改属性名
背景:就是修改请求回来的数据中某些数据的字段名,修改成自己想要的字段名

 const list007 = list.map((item) => {
     
          return {
     
            value: item.platformUid,
            label: item.nickname,
          };
       });
       // 这样就会把后台返回的数据中我们不需要的属性剔除了,取出我们想要的属性 platformUid nickname ,然后我们只是要这两个字段对应的数据,不想要两个字段名,所以需要修改字段名修改为 value label, 最后就会返回一个数组如:
       [
       {
     
        value:'zs',  // zs 是 platformUid 字段对应的数据
        label:'张三'  // 张三 是 nickname 字段对应的数据
        }
       ]
       

2.数据已经修改了但是视图没有更新:

本次我遇到的是 修改数组中某个对象中的某一个属性,数据已经修改成功了,但是视图却没有修改成功。
解决办法使用this.$set,来修改数据,这样才会触发视图更新。
比如要修改:allCard数组中,某项(对象)中的某个属性值:

 allCard: [
        {
     
          iconUrl: '', 
          title: '请添加名称', 
          desc: '请用一句话描述',
          thumburl:
            'xxxx', 
          pagepath: '', 
          remark: 'xxx', // 备注
            isSelectAppletCard:false
        },
        {
     
          iconUrl: 'xxxx', 
          title: '请添加名称', 
          desc: '请用一句话描述', 
          thumburl: '', 
          pagepath: '', 
          isSelectAppletCard:false
        }
       ]
// this.allCard --为要修改的对象  val为修改数组中对象的索引值  { ...this.allCard[val] } 是要修改对象所有数据的数据
        this.allCard[val].isSelectAppletCard = true;  // 这里是对要修改数组中对象的某个属性,进行修改
    this.$set(this.allCard, val, {
      ...this.allCard[val] });  // 把修改后的该对象,重新用this.$set修改下,这样就会触发视图更新。

3.给数组中每一个对象添加一个属性:

// allCard 是一个数组  我们要给这个数组中的每一个对象添加一个属性,并赋予一个初始值。
this.allCard.filter((item) => (item.isSelectAppletCard = false)); // 选中

你可能感兴趣的:(vue,js,vue,js,vue.js,前端,javascript)