ios 如何在节列表中添加字母顺序

carvr3hs  于 2022-11-19  发布在  iOS
关注(0)|答案(3)|浏览(119)

如何在部分列表中添加字母顺序?我检查了一些软件包,如react-native-atoz和react-native-selectedsectionlist。最好的一个是什么?或者我如何从头开始实现一个?下面是来自iOS联系人应用的一个例子:

yuvru6vn

yuvru6vn1#

如果你有一个名字的列表,我会做的是把它按名字分开,并使你上面的列表。
所以现在你可以在数组上运行.map,并相应地显示字母和名称!

const names = [
  "Ned Stark",
  "Robert Baratheon",
  "Jaime Lannister",
  "Catelyn Stark",
  "Cersei Lannister",
  "Daenerys Targaryen",
  "Jorah Mormont",
  "Jon Snow"
]

function getFirstLetterFrom(value) {
  return value.slice(0, 1).toUpperCase();
}

const newNames = names
  .reduce(function (list, name, index) {
      let listItem = list.find((item) => item.letter && item.letter === getFirstLetterFrom(name));
      if (!listItem) {
        list.push({"letter": getFirstLetterFrom(name), "names": [name]})
      } else {
        listItem.names.push(name)
      }

      return list;
  }, []);

console.log(newNames)
6psbrbz9

6psbrbz93#

使用Address Book library for React Native可实现此目的。
建议的CSS样式如下所示:

sideView: {
    width: 40,
    position: 'absolute',
    height: '100%',
    alignItems: 'center',
    justifyContent:'center',
    right: 0,
}

相关问题