更新复选框NativeBase Firebase列表

时间:2018-12-19 10:26:12

标签: javascript firebase react-native firebase-realtime-database native-base

我在互联网上看到了很多有关此问题的信息,但没有提供明确的解决方案。

我有一些来自Firebase的数据是这样的:

getSuggestedList() {
    var suggestedList = this;

    firebase
      .database()
      .ref("/athleteList/")
      .orderByChild("suggested/")
      .equalTo(true)
      .on("child_added", function(suggestedListData) {
        var newData = [...suggestedList.state.suggestedListViewData];
        newData.push(suggestedListData);
        suggestedList.setState({ suggestedListViewData: newData });
      });
  }

然后使用此功能在下面进行渲染:

renderRow(suggestedListData) {
    return (
      <ListItem>
        <CheckBox
          checked={suggestedListData.selected}
          onPress={() => {
            suggestedListData.selected = !suggestedListData.selected;
          }}
        />
        <Body>
          <Text>{suggestedListData._value.name}</Text>
        </Body>
      </ListItem>
    );
  }

在代码的主要render()部分:

<ListView
   enableEmptySections
   dataSource={this.ds.cloneWithRows(
   this.state.suggestedListViewData
   )}
   renderRow={this.renderRow.bind(this)}
/>

我假设我将选中的位置设置为等于RecommendationsListData.selected,然后使用onPress更改了该值,但视图中不会发生这种情况。该值确实发生了变化,我可以在控制台中看到它,但是它不会更新该项目。

请有人帮忙。

0 个答案:

没有答案