如何在react-native中将文本复制到剪贴板?

时间:2019-07-14 14:41:46

标签: javascript react-native button text onclick

我想集成一个小文本(我的电子邮件地址),但我希望用户可以复制此文本。我想到了一个按钮,当我们单击该按钮时,该电子邮件地址就是副本,并且可以在应用程序外部发送。该怎么做?

<View>
<Text style={{color: 'red', fontSize: 14 , fontFamily:'Arial', fontStyle: 'bold', textAlign: 'center', marginTop: 3, marginLeft: 25, marginBottom: 17}}> 
             mail@mail.com
</Text></View>

我是新手,我们将不胜感激。

5 个答案:

答案 0 :(得分:2)

import { Button, Clipboard } from 'react-native'react-native-community/clipboard

取代

答案 1 :(得分:1)

您可以使用Clipboard组件。

这是使用方法:

import { TouchableOpacity } from 'react-native';

<TouchableOpacity onPress={() => Clipboard.setString('mail@mail.com')}>
  <View>
    <Text style={{color: 'red', fontSize: 14 , fontFamily:'Arial', fontStyle: 'bold', textAlign: 'center', marginTop: 3, marginLeft: 25, marginBottom: 17}}> 
                mail@mail.com
    </Text>
  </View>
</TouchableOpacity>

答案 2 :(得分:1)

fayeed是对的。您可以使用剪贴板为用户复制字符串。

此外,您也可以轻松地为组件提供剪贴板。正如上面所说的

<Text 
onPress={()=>Clipboard.setString('mail@mail.com')}
style={{color: 'red', fontSize: 14 , fontFamily:'Arial', fontStyle: 'bold', textAlign: 'center', marginTop: 3, marginLeft: 25, marginBottom: 17}}> 
                mail@mail.com
    </Text>

答案 3 :(得分:1)

将Text组件的selectable prop设置为true,长按文本内容将被复制到剪贴板。

<Text selectable={true}>
  Your text
</Text>

答案 4 :(得分:0)

欢迎来到stackoverflow!请阅读https://stackoverflow.com/help/how-to-ask,了解如何提出好的问题;通常,提出问题的过程(如果操作正确)将带您获得答案!

因此,您设法使用Text在屏幕上显示了文本,现在您希望用户能够复制它;我可以想像这样做的三种方式:

  • 如何在react-native中使文本可选(和可复制)?
  • 如何在react-native中显示“复制弹出窗口”?
  • 如何在react-native中点击按钮将文本复制到剪贴板?

让我们专注于最后一个。我们可以进一步细分它:

  • 如何在react-native中创建按钮?
  • 如何在点击按钮时执行功能? (以本机显示)
  • 如何以编程方式将文本复制到剪贴板? (以本机显示)

如果我们用谷歌搜索这些短语,则会找到相关文档:

...以及相关代码段:

import { Button, Clipboard } from 'react-native'
...
const email = 'hello@example.com'
const copyIt = ()=> Clipboard.setString(email)
...
<Button
  onPress={copyIt}
  title={email}
/>