温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用Vue怎么实现一个表情包输入组件

发布时间:2021-04-20 17:34:28 阅读:392 作者:Leah 栏目:web开发
Vue开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

使用Vue怎么实现一个表情包输入组件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

vue是什么

Vue是一套用于构建用户界面的渐进式JavaScript框架,Vue与其它大型框架的区别是,使用Vue可以自底向上逐层应用,其核心库只关注视图层,方便与第三方库和项目整合,且使用Vue可以采用单文件组件和Vue生态系统支持的库开发复杂的单页应用。

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

npm install

npm run dev

使用Vue怎么实现一个表情包输入组件

Emotion文件夹下Emotion文件说明

实现原理是根据字段对在线表情包图片进行匹配替换
代码中 img 标签的地址即为表情图片地址,可自己根据需求替换
 mounted () {
 const name = this.$el.innerHTML
 const 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怎么实现一个表情包输入组件问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

vue
AI

开发者交流群×