在React本机listView中对Firebase数据库中的项目进行排序/排序

时间:2017-05-23 11:42:27

标签: listview firebase react-native firebase-realtime-database datasource

我有一个从Firebase数据库中提取的项目列表,我需要在我的本机应用程序中按字母顺序对它们进行排序/排序。所以这是我使用的代码:

listenForItems(itemsRef) {
        itemsRef.on('value', (snap) => {

            let items = [];
            snap.forEach((child) => {
                items.push({
                    name: child.val().name,
                    _key     : child.key
                });
            });

            this.setState({
                dataSource: this.state.dataSource.cloneWithRows(items)
            });

        }); 
    }


render() {
        return (
                <ListView
                    automaticallyAdjustContentInsets={true}
                    dataSource={this.state.dataSource}
                    renderRow={this._renderItem.bind(this.props)}
                    enableEmptySections={true}/>
        );
    }

我发现了这个http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#methods-query,但我真的不知道如何使用数据源的排序方法。有帮助吗?我还打开任何其他解决方案来对本机列表视图中的项进行排序。

1 个答案:

答案 0 :(得分:1)

在将列表应用到数据集之前,只需使用public function __toString() { return $this->getName(); } 对列表进行排序。我现在删除了RN代码,因为它打破了代码段。

Array.prototype.sort