wangEditor的使用及上传图片(一)

本文介绍了一款轻量级富文本编辑器wangEditor的基本使用方法,包括如何将编辑器内容提交到表单,以及通过隐藏input框实现内容提交的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      由于业务需要,最近新入手了一款富文本编辑器wangEditor,这是一款轻量级的富文本编辑器,比起百度的ueditor,这款编辑器的界面更加简单,文档也很详细。对于需求不是很高的功能来说,这款编辑器实在是不二之选。

一、wangEditor的基本显示demo

这个部分,也用不着贴代码,因为文档很详细的,具体的参考文档

https://www.kancloud.cn/wangfupeng/wangeditor2/113965

这里面有显示界面的demo。

二、关于编辑器内容的提交

1、这部分刚开始我也很奇怪,因为编辑器是在div里面,而div又没有value这个属性。所以提交表单的时候,其中的内容该怎么提交上去呢。后来想到用js,把内容同步到input框中,这样我们就可以愉快的提交了。

//这是编辑器的div
<div id="info1" class="text" > <!--可使用 min-height 实现编辑区域自动增加高度-->
   </div>      

 //下面新增一个input输入框
    <input class="input-xlarge focused" name="info" type="text" id="info" >                 

界面为:
这里写图片描述

2、新增JS代码

 document.getElementById('info').addEventListener('click', function () {
    // 读取 html
    var info = editor1.txt.html();

    document.getElementById("info").value=info;

  }, false);

这段的意思是,给下面的input框架一个点击事件。当点击input框的时候,触发点击事件,先获取editor中的html标签文字,然后,再把编辑器中的内容赋值给input的value
如图:
这里写图片描述

这样,我们提交表单的时候,就可以把编辑器中的内容提交上去了。

3、界面优化

这里如果大家觉得用这个input框多次一举的话,我们可以把input框隐藏起来。

<input id='info1' type='hidden' />
//下面跟表单的其他项,比如
   <input class="input-xlarge focused" name="info" type="text" id="info" > 
 //也就是说,当点击表单的其他项的时候,我们还是出发点击事件,然后把编辑器的值赋值给隐藏的input框,这样,页面上不会有什么反应,但是我们已经把编辑器的值随着表单提交到服务器了。

   下面该说上传图片了,但是上传图片的内容比较多,所以还是下一篇讲吧,下一篇主要是上传图片到阿里云OSS,并且在编辑器上显示我们上传的图片。

end

### WangEditor 自定义图片上传实现方法 在 WangEditor 中实现自定义图片上传功能可以通过配置 `customUploadImg` 属性来完成。此属性允许开发者指定个用于处理图片上传逻辑的函数,在该函数内可以调用接口将图片发送至服务器并最终通过回调函数把返回的结果插入到编辑器中。 对于 Vue 项目而言,可以在初始化编辑器实例前设置上述提到的配置项: ```javascript import { Editor, Toolbar } from '@wangeditor/editor-for-vue'; // 定义上传图片的方法 const customUploadImage = async (resultFiles, insertFn) => { const formData = new FormData(); // 假设只上传单张图片的情况 formData.append('file', resultFiles[0]); try { let res = await axios.post('/api/upload/image', formData); if(res.data.code === 200){ // 成功后调用insertFn() 将url 插入到编辑区 insertFn([res.data.url]); } } catch(error){ console.error("Failed to upload image", error); } }; export default { components: { Editor, Toolbar }, data(){ return{ editorConfig:{ placeholder:'请输入内容...', // 设置自定义上传图片的方式 customUploadImg:[customUploadImage], }, html:'', }; }, }; ``` 这段代码展示了如何利用 Axios 库向特定 API 发送 POST 请求以提交表单数据形式的文件对象,并依据响应结果执行相应的操作[^1]。 当涉及到更复杂的场景比如多图上传或是需要额外参数时,则可以根据实际需求调整 `formData` 的构建方式以及请求的具体细节部分。 另外值得注意的是,为了确保良好的用户体验,在开发过程中还应该考虑加入进度条显示、错误提示等功能模块以便更好地反馈给用户当前的操作状态。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铁柱同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值