热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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


VUE表情包输入组件,先来张成品图看看。

在这里的插入图片描述

年底了没事干,把以前做过的项目中的组件拿出来再复习一下, 先说说思路吧。

注意:

1. 项目是用vue-cli3.0搭建起来的项目, 参考cli3.0官网地址



2.样式是用scss需要安装依赖: npm install node-sass sass-loader -D

思路: 页面内容总体分为三块区域(内容区,表情区,输入区),引入JSON文件表情库渲染到页面,给每个表情绑定点击事件并传递下标,将用户点击过的表情存放到一个数组中,赋值给input标签的value中让其显示先输入框内,然后给 确定 按钮绑定点击事件,用户点击确定按钮将input中的value值赋值给内容区(内容去也要创建一个数组)让其渲染到你要的位置上,这样就完成了表情的渲染和发送。

html区域


JS区域

// 导入JSON格式的表情库
const appData = require("@/assets/emojis.json");
export default {
name: "home",
data() {
return {
textConent: "",
faceList: [],
faceShow: false,
getBrowString: "",
content: []
};
},
methods: {
// 表情
faceContent() {
this.faceShow = !this.faceShow;
if (this.faceShow == true) {
for (let i in appData) {
this.faceList.push(appData[i].char);
}
} else {
this.faceList = [];
}
},
// 获取用户点击之后的标签 ,存放到输入框内
getBrow(index) {
for (let i in this.faceList) {
if (index == i) {
this.getBrowString = this.faceList[index];
this.textConent += this.getBrowString;
}
}
},
// 将input的内容渲染到页面上
referContent() {
if (this.textCOnent== "") return alert("请输入内容");
// 存入
this.content.push(this.textConent);
// 清空input数据
this.textCOnent= "";
// 关闭表情列表
this.faceShow = false;
}
},
};

css区域



代码在我的github上:github地址:https://github.com/wanglei-bilibili/Vue-WeiXin-face

欢迎大家来提出意见,共同努力进步。



推荐阅读
author-avatar
丝家发艺
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有