HarmonyOS PasteButton可以用于复制吗,比如点击按钮把订单号写入剪切板?

如题

订单内订单号复制

想要一个不申请剪切板权限,就能复制传入信息的点击按钮

阅读 459
1 个回答

参考示例:

import pasteboard from '@ohos.pasteboard'
import promptAction from '@ohos.promptAction'

@Entry
@Component
export struct CopyText {
  private textContent: string = "复制我"

  build() {
    Column() {
      Text(this.textContent)
        .fontSize($r("sys.float.ohos_id_text_size_body3"))
        .borderRadius(9)
        .borderWidth(1)
        .padding({ left: 8, right:8})
        .fontColor($r('sys.color.ohos_id_color_text_primary'))
        .fontWeight(FontWeight.Medium)
        .opacity($r("sys.float.ohos_id_alpha_content_secondary"))
        .onClick(() => copyText(this.textContent))
    }
  }
}

function copyText(text: string) {
  const pasteboardData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, text)
  const systemPasteboard = pasteboard.getSystemPasteboard()
  systemPasteboard.setData(pasteboardData) // 将数据放入剪切板
  systemPasteboard.getData().then((data) => {
    if (data) {
      promptAction.showToast({ message: "复制成功" })
    } else {
      promptAction.showToast({ message: "复制失败" })
    }
  })
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进