环境
反应:16.3.1反应原生:0.55.3
描述
我已经使用一些水平FlatLists在React Native上实现了一个多维列表视图 . 一切都正确显示 . 但是,当我将焦点一直移动到行尾时,当我尝试向右移动时焦点将自动转到下面的行(已经在行的末尾) .
有没有一个解决方案来防止这种情况,并确保焦点在到达平面列表的末尾时停止?
重现步骤
垂直渲染FlatList,每行是另一个水平FlatList . 滚动到行尾,尝试向右移动,焦点将向下移动到下一行 .
预期行为由于我们位于当前行的末尾,因此预期行为应为none .
实际行为如果在行的后端,焦点将转到下一行
我搜索过文档,这是firetv / androidtv的一个特定问题 .
与此相同的问题:https://github.com/facebook/react-native/issues/20100但该错误是"closed"
示例代码:从'react'导入React,;从'react-native'导入{View,Text,TouchableOpacity,ScrollView};
export default class App extends Component {render(){const data = []; for(let i = 0; i <10; i)data.push(i);
return (
<View>
{[1, 2].map(() => (
<ScrollView horizontal style={{height: 210}}>
{data.map(i => (
<TouchableOpacity key={i}>
<View
style={{
backgroundColor: 'grey',
width: 200,
height: 200,
}}
>
<Text style={{fontSize: 60}}>{i}</Text>
</View>
</TouchableOpacity>
))}
</ScrollView>
))}
</View>
);
}
1 回答
目前我发现这对于tvOS或者android或firetv是不可能的 . 除非我弄错了,否则我假设尝试创建connectedTv应用程序的人数很少,或者如果他们有一个非常非常简单的界面