react-native: Text in FlatList is not selectable on Android
React Native version: 0.60.5
System:
OS: macOS 10.14.6
CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
Memory: 317.94 MB / 16.00 GB
Shell: 5.3 - /bin/zsh
Binaries:
Node: 12.3.1 - /usr/local/opt/nvm/versions/node/v12.3.1/bin/node
Yarn: 1.16.0 - ~/.yarn/bin/yarn
npm: 6.9.0 - /usr/local/opt/nvm/versions/node/v12.3.1/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
Android SDK:
API Levels: 23, 28, 29
Build Tools: 28.0.3, 29.0.1
System Images: android-28 | Intel x86 Atom, android-28 | Intel x86 Atom_64, android-28 | Google APIs Intel x86 Atom, android-28 | Google Play Intel x86 Atom, android-28 | Google Play Intel x86 Atom_64, android-29 | Google APIs Intel x86 Atom
IDEs:
Android Studio: 3.4 AI-183.6156.11.34.5692245
Xcode: 10.2.1/10E1001 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.6 => 16.8.6
react-native: 0.60.5 => 0.60.5
npmGlobalPackages:
react-native-cli: 2.0.1
Steps To Reproduce
export default class App extends React.Component {
_renderItem = ({item}) => {
return (
<View>
<Text selectable>{item}</Text>
</View>
)
}
_keyExtractor = (item, index) => index.toString();
render() {
return (
<View style={styles.container}>
<Text selectable>This is selectable Text...</Text>
<FlatList
data={['not selectable text', 'not selectable text']}
renderItem={this._renderItem}
keyExtractor={this._keyExtractor}
/>
</View>
);
}
}
Describe what you expected to happen:
Need to be able to select Text in FlatList.
Snack, code example, screenshot, or link to a repository:
Snack: https://snack.expo.io/@maltoze/selectable-bug-in-flatlist
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Reactions: 9
- Comments: 24 (6 by maintainers)
Expo SDK 35.0.0 also has this problem. RN 0.59.8.
removeClippedSubviews={false}
does work around it for me.I curse the day I let React Native into my life
key={Math.random()}
not works for me.(rn 0.61.2) Instead, addingremoveClippedSubviews={false}
for Flatlist solved it.Added
pointerEvents={'box-none'}
for wrapper View solved this problem.That’s not a fix – it’s a workaround. It sacrifices
FlatList
performance to be able to select text.This issue should not been closed. My pr https://github.com/facebook/react-native/pull/28952 was written to fix this issue, I can improve the pr but please don’t close the issue.
Actually there is another workaround which does not require to disable removeClippedSubviews. Example:
Closing this issue after a prolonged period of inactivity. If this issue is still present in the latest release, please feel free to create a new issue with up-to-date information.
Same problem in 0.59.10 In my case, add
key={Math.random()}
solved it