项目需求:

有一条描述信息(文字 + 图片),点击编辑,文本框中显示描述信息,并且可以对描述信息做出修改

拆解需求:

  1. 文本框里要能显示预设的值(文字 + 图片)
  2. 文本框里还要能支持粘贴文字与图片

实际做法

最开始我试图直接使用input元素或者el-input组件,但是在网上找了很多方法,也无法实现图片的显示,后来看到某个大大分享的文章里提到【一个元素比如div加上contenteditable = ‘true’,这个元素就跟textarea文本框一样是可编辑的了】,于是开始从这里着手去解决,将解决方法分享给大家,希望对大家有帮助,啾咪~

template中

<div @edit(desc)>{{desc.description}}<img v-for=(item,index) in  desc.figure : key="index" src="item">
</div>
<el-dialog title="提示":visible.sync="dialogVisible"><div class="img-textarea" @paste="descImgPaste($event)" contenteditable="true" ></div><el-button  @click="confirm">确定</el-button>
</el-dialog>

data中

dialogVisible: false,
desc: {description: '描述文字' ,figure:['http://pic2.sc.chinaz.com/files/pic/pic9/202004/bpic20079.jpg' ]
}

methods中 点击编辑时要做的操作

eidt(data){ //data是描述信息,类似于{description: '描述文字' ,figure:[ 图片数组 ] }this.dialogVisible= truethis.$nextTick(() => {let elem = document.getElementsByClassName('img-textarea')[0]let imgs = ''if(data.figure.length > 0){for(let item of data.figure){let img= `\n<img src="${item}">`  //css样式中加入white-space:pre-line之后,\n换行才会生效imgs += img}}elem.innerHTML =  data.description + imgs })
}

methods中 在文本框内粘贴图片触发的操作
(这步操作是借鉴了某个大大分享的文章,但是当时看的太多,偶找不到啦!)

descImgPaste(event){if (event.clipboardData || event.originalEvent) {let clipboardData = (event.clipboardData || event.originalEvent.clipboardData);if(clipboardData.items){let  blob;for (let i = 0; i < clipboardData.items.length; i++) {if (clipboardData.items[i].type.indexOf("image") !== -1) {blob = clipboardData.items[i].getAsFile();}}let render = new FileReader();render.onload = function (evt) {//输出base64编码let base64 = evt.target.result;let imgElem = document.createElement('img')imgElem.src = base64document.getElementsByClassName('img-textarea')[0].appendChild(imgElem)}if(blob){render.readAsDataURL(blob);}}}},

methods中编辑后点击确定做的操作

confirm(){this.dialogVisible= falselet result= document.getElementsByClassName('img-textarea')[0].innerHTML
}

要在textarea文本框中粘贴图片怎么办?相关推荐

  1. 在文本框中插入图片:

    在文本框中插入图片: <input type="text" class="search" maxlength="180" value= ...

  2. Javascript - 获取到textarea文本框中的回车换行符 - 收集/实践 --- 20201005

    1.应用场景 主要用于获取到textarea文本框中的回车换行符 2.学习/操作 1. 文档 javascript获取到textarea文本框中的回车换行符 - Wuya - 博客园 js如何识别出字 ...

  3. 如何设置textarea文本框中的内容为只读不可修改状态

    设置<textarea>文本框中的内容为只读不可修改状态,只需要加入disabled或readonly即可 <textarea name="qualification&qu ...

  4. HTML5 实现给Text文本框中加入图片

    <style type="text/css">input{/*文本框的大小*/width:200px;height: 35px;/*图片*/background: ur ...

  5. Word2010 如何解决文本框中的图片不能设置文字环绕的终极方法!!!

    今天我在起草一份简历,用到了文本框,因为文本框可以搞一些比较艺术的东东,当我把我的照片放上去的时候,突然就冒出来一个 大问题 ...什么问题呢? 请看图: 问题出在哪里? 那就是我们无法在个人信息处从 ...

  6. python图片显示文本框_Python3 tkinter基础 Text image 文本框中插入图片

    Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda : 4.5.11 typesetting : Markdown ...

  7. Html中文本域中加图片,如何在文本框中加图片

    2007-06-21 怎么添加留言板.最新文章列表.最新评论.最新留言--的这些字背后的背景图片?我按照这些添加都不能成功,图片地址也是网络上的,也加了空格键:更换页面留言板标题栏下翻时的图片的源代码 ...

  8. java word文本框_Java 读取Word文本框中的文本、图片、表格

    Word可插入文本框,文本框中可嵌入文本.图片.表格等内容.对文档中的已有文本框,也可以读取其中的内容.本文以Java程序代码来展示如何读取文本框,包括读取文本框中的文本.图片以及表格等. [程序环境 ...

  9. Java 读取Word文本框中的文本、图片、表格

    Word可插入文本框,文本框中可嵌入文本.图片.表格等内容.对文档中的已有文本框,也可以读取其中的内容.本文以Java程序代码来展示如何读取文本框,包括读取文本框中的文本.图片以及表格等. [程序环境 ...

最新文章

  1. 1.cocos2dx之Menu(CCMenuItemFont,CCMenuItemImage,CCMenuItemLabel,CCMenuItemSprite,CCMenuItemToggle)
  2. 移动web前端开发框架_移动前端开发是Web前端开发吗?
  3. Javascript基础学习20问(二)
  4. Android系统的手表adb抓取log日志
  5. 转浅谈缓存击穿、缓存并发和缓存失效
  6. Linux shell脚本详解及实战(二)——shell脚本之分支
  7. BZOJ1862: [Zjoi2006]GameZ游戏排名系统
  8. 人工智能培训:是学不好,还是教不好?3岁半的 BitTiger关闭
  9. diff制作patch补丁
  10. 图像标注工具sloth的安装
  11. LNK1181 无法打开输入文件“winmm.lib”
  12. Python 爬虫:抓取豆瓣top250电影数据
  13. 计算机-磁盘管理不能删除,关于win10系统磁盘管理磁盘右键菜单中只有“帮助”删除方法...
  14. 如何获取注册高德Key使用的SHA1值
  15. 20190527-陈静初-文件操作-笔记
  16. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explo注册表病毒
  17. 华为手机拍照那么厉害,为什么你却总拍不好?肯定是没调整这些设置
  18. 海大叔侃币:作为一个炒币者,分享三点经验
  19. 台式计算机硬盘英寸,台式电脑硬盘和笔记本电脑硬盘有区别吗?台式机硬盘报价一般是多少?...
  20. TIA博途下载PLC程序时提示“具有激活的TIS功能防止下载到设备”错误-处理办法

热门文章

  1. java购物车的实现并发控制_购物车的实现原理
  2. 数据恢复 diskginus
  3. S3DIS数据集的几个bug
  4. Android底层和中间层共同学习系列之android键盘映射
  5. phpcms上传图片去除水印
  6. windows自带录屏_电脑录屏有哪些快捷键?设置帮助电脑快速录屏
  7. 伽罗华域(Galois Field)有限域元素生成和运算原理
  8. HttpClient 实现酷狗 Top500 音乐下载
  9. 重力场和稳态海洋环流探测器(GOCE)
  10. 小米6怎样打开位置服务器,小米手环6gps定位功能在哪打开?经常无法定位怎么办...