javascript - react 原生滚动子列

标签 javascript react-native scrollview

我有一个这样的 View

<View style={styles.columnView}>
  <View style={[styles.columnButtonItem, styles.columnC]}><Text></Text></View>
  <View style={[styles.columnButtonItem, styles.columnA]}><Text></Text></View>
  <View style={[styles.columnButtonItem, styles.columnB]}><Text></Text></View>
  <View style={[styles.columnButtonItem, styles.columnE]}><Text>{value}</Text></View>
  <View style={[styles.columnButtonItem, styles.columnAs]}><Text></Text></View>
  <View style={[styles.columnButtonItem, styles.columnT]}><Text></Text></View>
</View>

迭代之后,我编写了一个如下表:

enter image description here

有没有办法在单列上添加ScrollView? 例如,我想仅在columnE上启用滚动。 显然,当我滚动columnE时,我想滚动所有表格。

谢谢

最佳答案

绝对定位 View

如果您知道列的宽度,那么您可以使用绝对定位的与底层 ScrollView 重叠的 View ,它们将停止对 ScrollView 的所有触摸。这意味着它只会在绝对定位 View 未覆盖的部分上滚动。

所以你可以做这样的事情

render() {
  // set these widths to be the size before row E and the size after row E
  let leftWidth = '33%'; 
  let rightWidth = '33%';
  return (
    <View style={{flex: 1}}>
      <ScrollView style={{flex: 1}}>

        // items for the scroll view go here

      </ScrollView>
      <View style={{position:'absolute', top:0, left: 0, bottom: 0, width: leftWidth}} />
      <View style={{position:'absolute', top:0, right: 0, bottom: 0, width: rightWidth}} />
    </View>
  )
}

小吃

这是展示此实现的小吃。我在绝对定位的 View 上设置了 backgroundColor ,以便您可以清楚地看到它们。 https://snack.expo.io/@andypandy/partial-scrollview

警告

此解决方案的主要问题是您将无法触摸绝对定位 View 下方的任何内容。您可以通过使用 gestures 捕获触摸来缓解这种情况在每个 View 上,然后将它们映射到 ScrollView 上的位置。

关于javascript - react 原生滚动子列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54404266/

相关文章:

iphone - 向 ScrollView 添加标签

android - 如何判断一个 NestedScrollView 是否滚动到最后并处于空闲状态?

javascript - 拖放并重新排序 - 一次重新排序 2 个并排元素

javascript - react-native-router-flux 具有替换、重置和刷新功能的刷新组件

javascript - reactjs axios 无法获取 api 数据

react-native - 终端上的 React Native 黄色警告

reactjs - React Native,类型错误: undefined is not an object When it is

android - React native 和 Android Instant Apps 将如何合作?有什么想法吗?

javascript - 如何在 JavaScript 中将给定矩阵顺时针旋转一个元素

wpf - 控件的 "visible area"?