# uni.getClipboardData(options) GitCodeGitHub

获得系统剪贴板的内容

# getClipboardData 兼容性

Web 微信小程序 Android iOS HarmonyOS
4.0 4.41 4.71 4.71 4.61

# 参数

名称 类型 必填 默认值 兼容性 描述
options GetClipboardDataOptions -
-
名称 类型 必备 默认值 兼容性 描述
success (result: GetClipboardDataSuccess) => void -
成功返回的回调函数
fail (result: GetClipboardDataFail) => void -
失败的回调函数
complete (result: any) => void -
结束的回调函数(调用成功、失败都会执行)

# GetClipboardDataSuccess 的属性值

名称 类型 必备 默认值 兼容性 描述
data string -
剪贴板的内容

# GetClipboardDataFail 的属性值

名称 类型 必备 默认值 兼容性 描述
errCode number -
-
errSubject string -
-
统一错误主题(模块)名称
data any -
-
错误信息中包含的数据
cause Error -
-
源错误信息,可以包含多个错误,详见SourceError
errMsg string -
-

注意

  • App(除 HarmonyOS)平台暂未内置,见插件市场
  • 读取剪贴板,在一些新的Android设备上,被列为单独的权限,如没有相关权限,则无法读取剪贴板。
  • 在鸿蒙上,读取剪贴板是一个高敏感权限,较难申请,参考鸿蒙文档

# 参见

# uni.setClipboardData(options) GitCodeGitHub

设置系统剪贴板的内容

# setClipboardData 兼容性

Web 微信小程序 Android iOS HarmonyOS
4.0 4.41 4.71 4.71 4.61

# 参数

名称 类型 必填 默认值 兼容性 描述
options SetClipboardDataOptions -
-
名称 类型 必备 默认值 兼容性 描述
data string -
需要设置的内容
showToast boolean -
是否弹出提示,默认弹出提示
success (result: SetClipboardDataSuccess) => void -
成功返回的回调函数
fail (result: SetClipboardDataFail) => void -
失败的回调函数
complete (result: any) => void -
结束的回调函数(调用成功、失败都会执行)

# SetClipboardDataFail 的属性值

名称 类型 必备 默认值 兼容性 描述
errCode number -
-
errSubject string -
-
统一错误主题(模块)名称
data any -
-
错误信息中包含的数据
cause Error -
-
源错误信息,可以包含多个错误,详见SourceError
errMsg string -
-

# 参见

# 示例

示例为hello uni-app x alpha分支,与最新HBuilderX Alpha版同步。与最新正式版同步的master分支示例另见

扫码体验(手机浏览器跳转到App直达页)

示例

<template>
  <view>
    <page-head :title="title"></page-head>
    <view class="uni-padding-wrap">
      <view class="uni-title">请输入剪贴板内容</view>
      <view class="uni-list">
        <view class="uni-list-cell">
          <input class="uni-input" type="text" placeholder="请输入剪贴板内容" :value="data" @input="dataChange" />
        </view>
      </view>
      <view class="uni-btn-v">
        <button type="primary" @click="setClipboard">存储数据</button>
        <button @tap="getClipboard">读取数据</button>
      </view>
    </view>
  </view>
</template>
<script>
  export default {
    data() {
      return {
        title: 'get/setClipboardData',
        data: '',
        // 自动化测试
        getDataTest: '',
        setClipboardTest: false
      }
    },
    methods: {
      dataChange: function (e:UniInputEvent) {
        this.data = e.detail.value
      },
      getClipboard: function () {
        uni.getClipboardData({
          success: (res) => {
            console.log(res.data);
            this.getDataTest = res.data;
            const content = res.data != "" ? '剪贴板内容为:' + res.data : '剪贴板暂无内容';
            uni.showModal({
              content,
              title: '读取剪贴板',
              showCancel: false
            })
          },
          fail: (err) => {
            uni.showModal({
              content: `读取剪贴板失败: ${err.errMsg}`,
              showCancel: false
            })
          }
        });
      },
      setClipboard: function () {
        if (this.data.length == 0) {
          uni.showModal({
            title: '设置剪贴板失败',
            content: '内容不能为空',
            showCancel: false
          })
        } else {
          uni.setClipboardData({
            data: this.data,
            success: () => {
              this.setClipboardTest = true
              // 成功处理
              uni.showToast({
                title: '设置剪贴板成功',
                icon: "success"
              })
            },
            fail: () => {
              // bug:自动化测试时设置成功也进入了fail
              this.setClipboardTest = false
              // 失败处理
              uni.showToast({
                title: '储存数据失败!',
                icon: "none"
              })
            }
          });
        }
      }
    }
  }
</script>

<style>
</style>

# 通用类型

# GeneralCallbackResult

名称 类型 必备 默认值 兼容性 描述
errMsg string -
错误信息