HarmonyOS鸿蒙Next复制粘贴
HarmonyOS鸿蒙Next复制粘贴
import { pasteboard, BusinessError } from '@kit.BasicServicesKit';
@Entry
@Component
struct Index {
@State message: string = '';
build() {
Row() {
Column({ space: 10 }) {
TextInput({ placeholder: '请输入验证码', text: this.message })
PasteButton()
.padding({top: 12, bottom: 12, left: 24, right: 24})
.onClick((event: ClickEvent, result: PasteButtonOnClickResult) => {
if (PasteButtonOnClickResult.SUCCESS === result) {
pasteboard.getSystemPasteboard().getData((err: BusinessError, pasteData: pasteboard.PasteData) => {
if (err) {
console.error(`Failed to get paste data. Code is ${err.code}, message is ${err.message}`);
return;
}
// 剪贴板内容为 '123456'。
this.message = pasteData.getPrimaryText();
});
}
})
}
.width('100%')
}
.height('100%')
}
}
更多关于HarmonyOS鸿蒙Next复制粘贴的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
HarmonyOS Next的复制粘贴功能基于系统级剪贴板服务实现。支持跨应用文本、图片和文件复制,通过ArkUI的Clipboard API调用setData()和getData()方法进行操作。数据格式支持纯文本、HTML、URL和像素地图等多种MIME类型。系统会自动管理剪贴板内容生命周期,应用无需申请特殊权限即可使用基础功能。跨设备粘贴依赖分布式剪贴板能力,需登录相同华为账号并开启多设备协同。
更多关于HarmonyOS鸿蒙Next复制粘贴的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS Next中,复制粘贴功能通过@kit.BasicServicesKit
的pasteboard
模块实现。代码示例展示了如何使用PasteButton
组件和系统剪贴板交互:点击按钮时,通过getSystemPasteboard().getData()
获取剪贴板内容,并将文本数据更新到TextInput
中。注意处理BusinessError
以确保操作稳定性。此实现适用于需要直接读取剪贴板文本的场景,如验证码填充。