Vue 表情包输入组件
Emotion
一个用于vue的表情输入组件
https://gitee.com/jiangliyue/vue_expression_input_module.gitindex是使用示例,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 表情包输入组件相关推荐
- vue表情包公共组件(适用于聊天室)
组件内容 <template><div class="emoji-Bigbox"><el-scrollbar ref="emojiScrol ...
- Vue 表情输入组件,微信face表情组件
VUE表情包输入组件,先来张成品图看看. 年底了没事干,把以前做过的项目中的组件拿出来再复习一下, 先说说思路吧. 注意: 1. 项目是用vue-cli3.0搭建起来的项目, 参考cli3.0官网地址 ...
- 浅谈Vue内置component组件的应用场景
官方的说明 渲染一个"元组件"为动态组件.依 is 的值,来决定哪个组件被渲染. <!-- 动态组件由 vm 实例的属性值 `componentId` 控制 --> & ...
- 如何使用Vue集成其它UI组件?如何阅读UI官网?移动端组件Vant实例教程(熬夜干货)
如何使用Vue集成其它UI组件 前言 一.Vant是什么? 二.基础环境准备 1.1 了解是根本 1.2 安装 1.3 引入组件 3.1 步骤一 3.2 步骤二 3.3 步骤三 二.事件绑定 2.1 ...
- Vue之单文件组件和脚手架
简介 主要介绍单文件组件的定义和编写方法和脚手架相关知识介绍. 单文件组件的定义是一个文件只有一个组件,使用xxx.vue文件,这个文件是vue团队定义的一种文件类型. xxx.vue文件里面可以使用 ...
- 从零开始徒手撸一个vue的toast弹窗组件
相信普通的vue组件大家都会写,定义 -> 引入 -> 注册 -> 使用,行云流水,一气呵成,但是如果我们今天是要自定义一个弹窗组件呢? 首先,我们来分析一下弹窗组件的特性(需求): ...
- SpringBoot + Vue 用户登入token 之租房管理系统后台 模板
SpringBoot 项目构建:SpringBoot + MySQL8 + MyBatis-Plus + Redis +定时任务框架(elastic-job) + Spring Security + ...
- vue基础二(组件)
组件 组件 组件的复用 组件的注册 组件名 放置限制 通过 Prop 向子组件传递数据 单向数据流 poro的验证 属性继承 自定义事件 插槽slot 普通插槽 具名插槽 默认插槽 作用域插槽 解构插 ...
- Vue学习笔记05 组件的自定义事件-组件通信-$nextTick-脚手架解决ajax跨域-插槽-过渡动画
文章目录 Vue学习笔记05 父组件给子组件传值 注意点 子组件给父组件传值 父组件接受子组件的传值 通过函数 组件的自定义事件 事件绑定的第一种写法 @或v-on 事件绑定的第二种写法:使用ref ...
最新文章
- undefined reference to `__gxx_personality_v0' collect2: ld returned 1 exit status
- 福建2020年3月计算机二级报名时间,福建2020年3月计算机等级考试报名时间
- Linux文件目录类命令
- 【Minimum Depth of Binary Tree】cpp
- 丽水数据可视化设计价格_50个数据可视化最有价值的图表(建议收藏)
- chart.js x轴显示不全_机床大讲堂第67讲——基于FANUC系统的数控铣床增加第四轴的方法...
- 知识图谱开源社区_您需要了解的关于开源社区中的倦怠的知识
- mac的python怎么输入中文_无法在python IDE(Mac OS X)中输入unicode
- 弹力球C语言课程设计,弹力球游戏c语言代码
- 计算机电源(atx电源),电脑ATX电源各级电压标准
- Python如何对图片进行缩放,旋转,翻转,添加文字以及如何截取并粘贴图像到图片中
- mac版MySQL初始密码修改
- 6个在线正则表达式工具
- linux 光盘刻录命令,linux 刻录光盘 命令 cdrecord
- bex5中的常用方法总结
- 北京高校应届生就业招聘信息网址
- 一篇学完:GAMES101:现代计算机图形学入门 学习笔记
- 微软物联网解决方案-Windows IoT Core
- 致Andorid初学者-从入门到精通,这一篇文带你省略学习路上的歪歪扭扭
- 基金涨跌简单模拟0.01