美文网首页
SectionList sections 数据处理20-04-

SectionList sections 数据处理20-04-

作者: 你坤儿姐 | 来源:发表于2020-04-24 09:05 被阅读0次
<SectionList
        ref='sectionList'
        style={{width:width-80,height:height-150}}
        sections={sectionData}  
        renderItem={({item}) =>
          <RightSectionListItem item={item}/>}
        // onViewableItemsChanged = {(info)=>this.itemChange(info)}  //滑动时调用
      />

其中sections 用来渲染的数据,类似于 FlatList 中的data属性。它的数据格式要求如下:

[
    { title: 'a', data: ['a1', 'a2'] },
    { title: 'b', data: ['b1', 'b2','b3'] },
    { title: 'c', data: ['c1'] },
]

然鹅~后台返回的数据可能不是这个样子滴,比如:

 storeCategoryStore:[
        {
           catalogName:"热销",
           goodList:[
            {
              img: require("../../../image/storePics/pic2.png"),
              name: "中爆可乐双人套餐"
            },
            {
              img: require("../../../image/storePics/pic2.png"),
              name: "中爆可乐双人套餐",
            }]
        },
        {
           catalogName:"热销",
           goodList:[
            {
              img: require("../../../image/storePics/pic2.png"),
              name: "中爆可乐双人套餐"
            },
            {
              img: require("../../../image/storePics/pic2.png"),
              name: "中爆可乐双人套餐",
            }]
        }
]

当把数组的key值从data变成goodList时,组件就不识别这个数据了(本来想找后台改下,后台说字段都有联系改不了,咱也不懂咱也不敢问),然后就手动处理数据。如下:

//拿到数据,遍历,修改你需要的数据的key值,并返回新的数组
const newArr = 
    storeCategoryStore.map(item => ({
      title:item.catalogName ,
      data:item.goodList
    }))

打印newArr如下:

[
        {
           title:"热销",
           data:[
            {
              img: require("../../../image/storePics/pic2.png"),
              name: "中爆可乐双人套餐"
            },
            {
              img: require("../../../image/storePics/pic2.png"),
              name: "中爆可乐双人套餐",
            }]
        },
        {
           title:"热销",
           data:[
            {
              img: require("../../../image/storePics/pic2.png"),
              name: "中爆可乐双人套餐"
            },
            {
              img: require("../../../image/storePics/pic2.png"),
              name: "中爆可乐双人套餐",
            }]
        }
]

如果你有更好的方法也可以分享一下,共同学习。

相关文章

网友评论

      本文标题:SectionList sections 数据处理20-04-

      本文链接:https://www.haomeiwen.com/subject/sjcxwhtx.html