当前位置: 首页 > news >正文

uni微信小程序editor富文本组件如何插入图片

需求

在editor中插入图片,并对图片进行编辑,简略看一下组件的属性,官网editor 组件 | uni-app官网

解决方案

首先要使用到@ready这个属性,然后官网有给代码粘过来,简单解释一下这段代码的意思(作用是在不同平台下获取编辑器的上下文,以便后续对编辑器进行操作,比如插入图片、获取内容等

HTML

<editor id="editor" ref="editor" @ready="onEditorReady" >
</editor>

JS

onEditorReady() {// #ifdef MP-BAIDUthis.editorCtx = requireDynamicLib('editorLib').createEditorContext('editor');// #endif// #ifdef APP-PLUS || MP-WEIXIN || H5uni.createSelectorQuery().select('#editor').context((res) => {this.editorCtx = res.context}).exec()// #endif
},

然后添加一个按钮用来插入图片,这里直接上完整的代码

<template><view class="addForum_app"><!-- 编辑器组件 --><editor id="editor" ref="editor" placeholder="请输入内容..." @ready="onEditorReady"></editor><!-- 图片选择按钮 --><button type="primary" @click="selectPhoto">选择图片</button></view>
</template><script>
export default {data() {return {editorCtx: null, // 编辑器上下文对象};},methods: {// 编辑器准备完成onEditorReady() {uni.createSelectorQuery().select('#editor').context((res) => {this.editorCtx = res.context;}).exec();},// 选择图片selectPhoto() {uni.chooseImage({count: 9, // 最多可以选择的图片数量sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图sourceType: ['album'], // 从相册选择success: (res) => {const tempFilePaths = res.tempFilePaths;// 遍历选中的图片路径,并使用 insertImage 方法将它们插入到编辑器中tempFilePaths.forEach((path) => {this.editorCtx.insertImage({src: path,success: function() {console.log('图片插入成功');}});});},fail: (err) => {console.error('选择照片失败:', err);}});}}
};
</script>

最后对图片的操作非常简单,查看官网的editor组件的属性即可。。。。

相关文章:

  • Linux离线一键安装Docker及docker-compose环境
  • Double Add
  • linux中最基础使用的命令
  • iOS AVFoundation 音视频源码分享
  • LNMP 环境下使用 Zstd 压缩优化网站备份脚本
  • 【机器学习】机器学习与大模型在人工智能领域的融合应用与性能优化新探索
  • PostgreSQL设置自增主键
  • 【动手学深度学习】softmax回归从零开始实现的研究详情
  • 简历–自我介绍–中文–个人–结婚祝语
  • element-plus关于表单数据自定义参数校验
  • 深入了解Linux命令:zcat
  • postman教程-10-使用cookie
  • 快速了解Https通信原理
  • python第五次作业
  • 计算机组成原理·海明编码及其实验
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 【笔记】你不知道的JS读书笔记——Promise
  • cookie和session
  • JavaScript类型识别
  • js数组之filter
  • NSTimer学习笔记
  • Odoo domain写法及运用
  • React Native移动开发实战-3-实现页面间的数据传递
  • TCP拥塞控制
  • 从0到1:PostCSS 插件开发最佳实践
  • 复习Javascript专题(四):js中的深浅拷贝
  • 区块链将重新定义世界
  • 如何合理的规划jvm性能调优
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 我是如何设计 Upload 上传组件的
  • Linux权限管理(week1_day5)--技术流ken
  • NLPIR智能语义技术让大数据挖掘更简单
  • #大学#套接字
  • $LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
  • (2024)docker-compose实战 (9)部署多项目环境(LAMP+react+vue+redis+mysql+nginx)
  • (C#)获取字符编码的类
  • (floyd+补集) poj 3275
  • (ZT)一个美国文科博士的YardLife
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (一)u-boot-nand.bin的下载
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)mysql使用Navicat 导出和导入数据库
  • (自用)gtest单元测试
  • .net core Redis 使用有序集合实现延迟队列
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .netcore 获取appsettings
  • .NET周刊【7月第4期 2024-07-28】
  • ??Nginx实现会话保持_Nginx会话保持与Redis的结合_Nginx实现四层负载均衡
  • @Bean有哪些属性
  • @RequestMapping-占位符映射
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题
  • [ASP]青辰网络考试管理系统NES X3.5
  • [AutoSar]BSW_OS 01 priority ceiling protocol(PCP)