React-Native ListView 正确返回空行



如何跳过在列表视图中呈现的行。以下示例有效,是我这样做的正常方式。

renderRow(rowData) {
  if (!rowData.foo) { return null; }
  return <View style={{ height: 100 }}><Text>{rowData.bar}</Text></View>
}

关于这个问题的问题是,一旦 1 行返回 null,就不会调用 onChangeVisibleRows。

if (!rowData.foo) { return <View style={{ height: 0 }} />; }

if (!rowData.foo) { return <View style={{ height: 1 }} />; }

工作正常,但不是一个好的解决方案。

所以,我的猜测是它是一个 ListView-Bug,但返回 null 真的是跳过渲染行的正确方法吗?我还没有找到任何其他选择。

在设置数据源之前,应过滤数据:

dataSource.cloneWithRows(
   yourDataArray.filter(item => item.foo !== null)
);

尝试:

if (!rowData.foo) { return <View style={{ opacity: 0 }} />; }

相关内容

  • 没有找到相关文章

最新更新