美文网首页
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