繁体   English   中英

对从在 Flatlist React 本机中呈现的 db 获取的 object 数组进行排序

[英]Sort an array of object fetched from db rendered in a Flatlist React native

我有这个 object 数组,我想在屏幕上显示它们时对其进行排序,按类型对它们进行排序。这里是数组的外观:

Array [
  Object {
    "lien": "get_praticien",
    "name": "tag service  centre 2",
    "type": "Tag",
  },
  Object {
    "lien": "get_praticien",
    "name": "Ambulance",
    "type": "Acte",
  },
  Object {
    "lien": "get_praticien",
    "name": "Réadaptation Fonctionnelle",
    "type": "speciality",
  },
  Object {
    "lien": "get_praticien",
    "name": "Infirmité Motrice",
    "type": "Tag",
  },......

所以我希望具有 type:"speciality" 的对象位于平面列表的顶部,而其他对象则以任何顺序排列。 我正在使用平面列表:

<FlatList 
                data={this.state.dataSource}
                keyExtractor={item=> { return item.id.toString()}}
                renderItem= {({item})=> <MedItem Med={item}  />} />

我会很感激你的回答

在渲染之前使用排序 function 对数据列表进行排序。 如果您有多页数据,您也可能希望在服务器端对它们进行排序。

 const test = [ { "lien": "get_praticien", "name": "tag service centre 2", "type": "Tag", }, { "lien": "get_praticien", "name": "Ambulance", "type": "Acte", }, { "lien": "get_praticien", "name": "Réadaptation Fonctionnelle", "type": "speciality", }, { "lien": "get_praticien", "name": "Infirmité Motrice", "type": "Tag", }, { "lien": "get_praticien", "name": "Infirmité Motrice", "type": "speciality", }, { "lien": "get_praticien", "name": "Ambulance", "type": "Acte", }, { "lien": "test", "name": "test Motrice", "type": "speciality", }, ] console.log(test.sort((a,b) => a.type === 'speciality'? -1: 1))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM