Emotion

一个用于vue的表情输入组件
https://gitee.com/jiangliyue/vue_expression_input_module.git

index是使用示例,emotion是组件代码(这里用的是微信表情包的地址,大家可根据需要修改)

下载安装启动项目查看效果

npm install

npm run dev

Emotion文件夹下Emotion文件说明

实现原理是根据字段对在线表情包图片进行匹配替换
代码中 img 标签的地址即为表情图片地址,可自己根据需求替换

  mounted () {const name = this.$el.innerHTMLconst list = ['微笑', '撇嘴', '色', '发呆', '得意', '流泪', '害羞', '闭嘴', '睡', '大哭', '尴尬', '发怒', '调皮', '呲牙', '惊讶', '难过', '酷', '冷汗', '抓狂', '吐', '偷笑', '可爱', '白眼', '傲慢', '饥饿', '困', '惊恐', '流汗', '憨笑', '大兵', '奋斗', '咒骂', '疑问', '嘘', '晕', '折磨', '衰', '骷髅', '敲打', '再见', '擦汗', '抠鼻', '鼓掌', '糗大了', '坏笑', '左哼哼', '右哼哼', '哈欠', '鄙视', '委屈', '快哭了', '阴险', '亲亲', '吓', '可怜', '菜刀', '西瓜', '啤酒', '篮球', '乒乓', '咖啡', '饭', '猪头', '玫瑰', '凋谢', '示爱', '爱心', '心碎', '蛋糕', '闪电', '炸弹', '刀', '足球', '瓢虫', '便便', '月亮', '太阳', '礼物', '拥抱', '强', '弱', '握手', '胜利', '抱拳', '勾引', '拳头', '差劲', '爱你', 'NO', 'OK', '爱情', '飞吻', '跳跳', '发抖', '怄火', '转圈', '磕头', '回头', '跳绳', '挥手', '激动', '街舞', '献吻', '左太极', '右太极']let index = list.indexOf(name)let imgHTML = `<img src="https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/${index}.gif">`this.$nextTick(() => {this.$el.innerHTML = imgHTML})},

Emotion文件夹下index文件说明

通过循环列表生成表情包选择框

      <div class="emotion-box-line" v-for="(line, i) in list" :key="i" ><emotion class="emotion-item" v-for="(item, i) in line" :key="i" @click.native="clickHandler(item)" >{{item}}</emotion></div>

最后需要注意的是表情包评论后保存到后台的是相关字符串,展示时需要还原成图片,具体方法可参考index文件,我这里用了正则匹配转化,还是比较方便的

    <div class="text-place"><!-- /\#[\u4E00-\u9FA5]{1,3}\;/gi 匹配出含 #XXX; 的字段 --><p v-html="content.replace(/\#[\u4E00-\u9FA5]{1,3}\;/gi, emotion)"></p></div>

就这么简单,希望可以帮到有需要的童鞋( ̄▽ ̄)

Vue 表情包输入组件相关推荐

  1. vue表情包公共组件(适用于聊天室)

    组件内容 <template><div class="emoji-Bigbox"><el-scrollbar ref="emojiScrol ...

  2. Vue 表情输入组件,微信face表情组件

    VUE表情包输入组件,先来张成品图看看. 年底了没事干,把以前做过的项目中的组件拿出来再复习一下, 先说说思路吧. 注意: 1. 项目是用vue-cli3.0搭建起来的项目, 参考cli3.0官网地址 ...

  3. 浅谈Vue内置component组件的应用场景

    官方的说明 渲染一个"元组件"为动态组件.依 is 的值,来决定哪个组件被渲染. <!-- 动态组件由 vm 实例的属性值 `componentId` 控制 --> & ...

  4. 如何使用Vue集成其它UI组件?如何阅读UI官网?移动端组件Vant实例教程(熬夜干货)

    如何使用Vue集成其它UI组件 前言 一.Vant是什么? 二.基础环境准备 1.1 了解是根本 1.2 安装 1.3 引入组件 3.1 步骤一 3.2 步骤二 3.3 步骤三 二.事件绑定 2.1 ...

  5. Vue之单文件组件和脚手架

    简介 主要介绍单文件组件的定义和编写方法和脚手架相关知识介绍. 单文件组件的定义是一个文件只有一个组件,使用xxx.vue文件,这个文件是vue团队定义的一种文件类型. xxx.vue文件里面可以使用 ...

  6. 从零开始徒手撸一个vue的toast弹窗组件

    相信普通的vue组件大家都会写,定义 -> 引入 -> 注册 -> 使用,行云流水,一气呵成,但是如果我们今天是要自定义一个弹窗组件呢? 首先,我们来分析一下弹窗组件的特性(需求): ...

  7. SpringBoot + Vue 用户登入token 之租房管理系统后台 模板

    SpringBoot 项目构建:SpringBoot + MySQL8 + MyBatis-Plus + Redis +定时任务框架(elastic-job) + Spring Security + ...

  8. vue基础二(组件)

    组件 组件 组件的复用 组件的注册 组件名 放置限制 通过 Prop 向子组件传递数据 单向数据流 poro的验证 属性继承 自定义事件 插槽slot 普通插槽 具名插槽 默认插槽 作用域插槽 解构插 ...

  9. Vue学习笔记05 组件的自定义事件-组件通信-$nextTick-脚手架解决ajax跨域-插槽-过渡动画

    文章目录 Vue学习笔记05 父组件给子组件传值 注意点 子组件给父组件传值 父组件接受子组件的传值 通过函数 组件的自定义事件 事件绑定的第一种写法 @或v-on 事件绑定的第二种写法:使用ref ...

最新文章

  1. undefined reference to `__gxx_personality_v0' collect2: ld returned 1 exit status
  2. 福建2020年3月计算机二级报名时间,福建2020年3月计算机等级考试报名时间
  3. Linux文件目录类命令
  4. 【Minimum Depth of Binary Tree】cpp
  5. 丽水数据可视化设计价格_50个数据可视化最有价值的图表(建议收藏)
  6. chart.js x轴显示不全_机床大讲堂第67讲——基于FANUC系统的数控铣床增加第四轴的方法...
  7. 知识图谱开源社区_您需要了解的关于开源社区中的倦怠的知识
  8. mac的python怎么输入中文_无法在python IDE(Mac OS X)中输入unicode
  9. 弹力球C语言课程设计,弹力球游戏c语言代码
  10. 计算机电源(atx电源),电脑ATX电源各级电压标准
  11. Python如何对图片进行缩放,旋转,翻转,添加文字以及如何截取并粘贴图像到图片中
  12. mac版MySQL初始密码修改
  13. 6个在线正则表达式工具
  14. linux 光盘刻录命令,linux 刻录光盘 命令 cdrecord
  15. bex5中的常用方法总结
  16. 北京高校应届生就业招聘信息网址
  17. 一篇学完:GAMES101:现代计算机图形学入门 学习笔记
  18. 微软物联网解决方案-Windows IoT Core
  19. 致Andorid初学者-从入门到精通,这一篇文带你省略学习路上的歪歪扭扭
  20. 基金涨跌简单模拟0.01

热门文章

  1. 操作系统实验之掌握基本SHELL命令(一)
  2. 【模电仿真】RC桥式正弦波发生电路
  3. hello,bili
  4. B2C销售网站的设计与实现
  5. UE4旅途之渲染后模型变黑(2UV坑)及阴影不清问题
  6. linux虚拟机怎么退出pingdd,LINUX基本操作命令
  7. 「音频党」你,还记得手抄歌词的年少时光吗?
  8. Linux下Nginx+Resin负载均衡,session问题解决实例
  9. [美文赏析]《非走不可的弯路》--张爱玲
  10. 正则^[a-zA-Z\d]+$