[Vue功能点分享]使用emoji表情

想要在vue项目中使用emoji表情

首先安装依赖

npm i v-emoji-picker --save

vue页面引入

<el-button type="text" size="mini" @click="showDialog = !showDialog">😃</el-button>
<el-input v-model="text" id="emojiInput"></el-input>
<VEmojiPicker  v-show="showDialog" @select="selectEmoji" />
<el-button type="text" size="mini" @click="log">发送</el-button>


import {VEmojiPicker} from 'v-emoji-picker'

 components: {
      VEmojiPicker
   }
   
 data() {
  return {
    showDialog:false,
    text:''
  }
},  

methods:{
  selectEmoji(emoji) {
    // 选择emoji后调用的函数
    const elInput = document.getElementById('emojiInput');//获取输入框元素,注意id要绑定到输入框上
    const start = elInput.selectionStart; // 记录光标开始的位置
    const end = elInput.selectionEnd; // 记录选中的字符 最后的字符的位置
    if (start === undefined || end === undefined) return
    const txt = elInput.value;
    // 将表情添加到选中的光标位置
    const result =
        txt.substring(0, start) + emoji.data + txt.substring(end);
    elInput.value = result // 赋值给input的value
    // 重置光标位置
    elInput.focus()
    elInput.selectionStart = start + emoji.data.length
    elInput.selectionEnd = start + emoji.data.length
    this.text= result // 赋值(注意这里一定要赋值给表情输入框绑定的那个值)
  },
  log(){
    console.log(this.text)
  }
}
   

😃

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值