Markdown组件 @luvi/lv-markdown-in 代码块复制操作指导
原创
深海的鲸同学 luvi 2026-07-21 20:01:58 发布4062 浏览 30 点赞 0 收藏
@luvi/lv-markdown-in 鸿蒙生态 Markdown 渲染解决方案。
因隐私政策调整,从 v3.1.0 版本开始,移除原有代码块的复制文本到剪贴板的能力,请通过 MarkdownController.setCodeCopyListener() 接口注册代码块复制监听,并自行调用 pasteboard 系统接口实现代码块的复制处理逻辑。
示例代码:
import { Markdown, MarkdownController } from '@luvi/lv-markdown-in';
import { pasteboard } from '@kit.BasicServicesKit';
import { promptAction } from '@kit.ArkUI';
@Entry
@ComponentV2
struct CopyTest {
@Local controller: MarkdownController = new MarkdownController()
@Local content: string = `
## 鸿蒙原生应用开发笔记
*鸿蒙原生*,意味着**纯净**与**性能**的平衡。
> 想让文字像在原生世界里呼吸,就得从渲染开始。
\`\`\`
Hello Harmony, Hello Markdown
\`\`\`
`
aboutToAppear(): void {
// 注册代码块点击复制监听
this.controller
.setCodeCopyListener((text) => {
// Create clipboard content object
const pasteboardData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, text);
// Get system clipboard object
const systemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.setData(pasteboardData) // Put data into clipboard
.then(() => { // Read clipboard content
promptAction.showToast({ message: 'copy success.' });
})
})
}
build() {
Column() {
Markdown({
controller: this.controller,
text: this.content
})
}
.padding({
left: 15,
right: 15,
top: 60,
})
}
}
©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。
分类
三方库
标签
markdown
暂无评论数据
加载中...
发布
相关推荐
鸿蒙UI开发快速入门 —— part03: 组件的生命周期
蓝亭书序
1217
0鸿蒙UI开发快速入门 —— part02: 组件开发
蓝亭书序
680
0Markdown组件 @luvi/lv-markdown-in 操作指导
深海的鲸同学 luvi
2071
0鸿蒙应用OTP动态口令与二次验证组件开发
User_芊芊君子
2153
0鸿蒙应用埋点统计与用户行为分析组件开发
小张同学
971
0
深海的鲸同学 luvi
独立全栈开发者、鸿蒙生态内容创作者、鸿蒙原生应用“Segment”、“上述”、“NexServer”、“Markdown轻码实验室”作者、鸿蒙生态三方库lv-markdwon-in、html2md作者,优秀三方开源库作者。HarmonyOS应用开发者高级认证,HarmonyOS开发者社区优质问答博主。
22
帖子
0
提问
347
粉丝
最新发布
【HarmonyOS】图像超分开发实践
2026-07-22 14:15:24 发布ArkUI深色模式适配指南
2026-07-22 13:24:29 发布热门推荐
京公网安备:11010502051901号