如何在部分列表中添加字母顺序?我检查了一些软件包,如react-native-atoz和react-native-selectedsectionlist。最好的一个是什么?或者我如何从头开始实现一个?下面是来自iOS联系人应用的一个例子:
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)
yfjy0ee72#
您可以使用react-native-section-alphabet-list
6psbrbz93#
使用Address Book library for React Native可实现此目的。建议的CSS样式如下所示:
sideView: { width: 40, position: 'absolute', height: '100%', alignItems: 'center', justifyContent:'center', right: 0, }
3条答案
按热度按时间yuvru6vn1#
如果你有一个名字的列表,我会做的是把它按名字分开,并使你上面的列表。
所以现在你可以在数组上运行.map,并相应地显示字母和名称!
yfjy0ee72#
您可以使用react-native-section-alphabet-list
6psbrbz93#
使用Address Book library for React Native可实现此目的。
建议的CSS样式如下所示: