import { SelectableText } from "@astrocoders/react-native-selectable-text";
// Use normally, it is a drop-in replacement for react-native/Text
<SelectableText
menuItems={["Foo", "Bar"]}
/*
Called when the user taps in a item of the selection menu:
- eventType: (string) is the label
- content: (string) the selected text portion
- selectionStart: (int) is the start position of the selected text
- selectionEnd: (int) is the end position of the selected text
*/
onSelection={({ eventType, content, selectionStart, selectionEnd }) => {}}
value="I crave star damage"
/>;
$ npm install @astrocoders/react-native-selectable-text --save
$ react-native link @astrocoders/react-native-selectable-text
Libraries
➜ Add Files to [your project's name]
node_modules
➜ @astrocoders/react-native-selectable-text
and add RNSelectableText.xcodeproj
libRNSelectableText.a
to your project’s Build Phases
➜ Link Binary With Libraries
Cmd+R
)<pod 'RNSelectableText', :path => '../node_modules/@astrocoders/react-native-selectable-text/ios/RNSelectableText.podspec'
to your projects podfilepod install
android/app/src/main/java/[...]/MainActivity.java
import com.astrocoders.selectabletext.RNSelectableTextPackage;
to the imports at the top of the filenew RNSelectableTextPackage()
to the list returned by the getPackages()
methodAppend the following lines to android/settings.gradle
:
include ':react-native-selectable-text'
project(':react-native-selectable-text').projectDir = new File(rootProject.projectDir, '../node_modules/@astrocoders/react-native-selectable-text/android')
Insert the following lines inside the dependencies block in android/app/build.gradle
:
compile project(':react-native-selectable-text')
name | description | type | default |
---|---|---|---|
value | text content | string | “” |
onSelection | Called when the user taps in a item of the selection menu | ({ eventType: string, content: string, selectionStart: int, selectionEnd: int }) => void | () => {} |
menuItems | context menu items | array(string) | [] |
style | additional styles to be applied to text | Object | null |
highlights | array of text ranges that should be highlighted with an optional id | array({ id: string, start: int, end: int }) | [] |
highlightColor | highlight color | string | null |
onHighlightPress | called when the user taps the highlight | (id: string) => void | () => {} |
appendToChildren | element to be added in the last line of text | ReactNode | null |
TextComponent | Text component used to render value |
ReactNode | |
textValueProp | text value prop for TextComponent. Should be used when passing TextComponent. Defaults to ‘children’ which works for | string | ‘children’ |
textComponentProps | additional props to pass to TextComponent | object | null |
Author: Astrocoders
Source Code: https://github.com/Astrocoders/react-native-selectable-text
#react-native #react #mobile-apps