zoukankan      html  css  js  c++  java
  • [React Native]访问操作系统剪贴板 Clipboard

    我们之前学习了TextInput组件, 有时候我们需要在TextInput组件中复制或者粘贴一些文字。
    React Native为开发者提供了 Clipboard API,Clipboard 组件可以在iOS和Android的剪贴板中读写内容。目前还只支持获取或者存放字符串。

    主要方法

    static getString()
    获取剪贴板的文本内容,返回一个Promise(后面会介绍)
    你可以用下面的方式来调用。
    async _getContent() { var content = await Clipboard.getString(); }

    static setString(content: string)
    设置剪贴板的文本内容。你可以用下面的方式来调用。
    _setContent() { Clipboard.setString('hello world'); }

    官方例子

    代码比较简单, 直接展示官方例子:

    import React, {Component} from 'react';
    import {
        AppRegistry,
        StyleSheet,
        View,
        Text,
        Clipboard
    } from 'react-native';
    
    class AwesomeProject extends Component {
        state = {
            content: 'Content will appear here'
        };
        //异步函数 箭头函数不需要绑定this了
        _setClipboardContent = async () => {
            Clipboard.setString('Hello World');
            try {
                var content = await Clipboard.getString();
                this.setState({content});
            } catch (e) {
                this.setState({content:e.message});
            }
        };
    
        render() {
            return (
                <View>
                    <Text onPress={this._setClipboardContent}
                          style={{color: 'blue',marginTop:100}}>
                        Tap to put "Hello World" in the clipboard
                    </Text>
                    <Text style={{color: 'red', marginTop: 20}}>
                        {this.state.content}
                    </Text>
                </View>
            );
        }
    }
    AppRegistry.registerComponent('AwesomeProject', () => AwesomeProject);

    运行结果:

    更多精彩请关注微信公众账号likeDev
    这里写图片描述

  • 相关阅读:
    JS通过组装key值访问json对象中的值
    js属性对象的hasOwnProperty方法
    ES6 去掉已经 new Date().format 方法
    Ajax不能接受php return值的原因
    CentOS最常用命令及快捷键整理
    js中for循环中需要调用异步方法,怎么确保执行的顺序?
    MYSQL 更新字段,向字段追加字符串
    java-学习2
    java-学习1
    JS----贪吃蛇游戏
  • 原文地址:https://www.cnblogs.com/hehe520/p/6329877.html
Copyright © 2011-2022 走看看