1、对于element-ui的el-input元素,回车发送消息事件,
<el-input ref="textarea" placeholder="请输入内容" v-model="textarea" @keyup.enter.native="enterMsg($event)" ></el-input>
enterMsg(event) {
if (event.keyCode === 13) { //回车事件
this.$refs.textarea.select(); //输入框选中状态
this.setButton(); // 发送文本,调用后台接口方法
event.preventDefault(); // 阻止浏览器默认换行操作
return false;
}
},
2、vue--在线聊天功能,判断消息是否是文字或表情
文本框:文字--“你好” || 表情--“[龇牙]”
调用腾讯云发送文本信息createTextMessage
接收消息: <div v-if="item.chatElement == 'TIMTextElem'" v-html="emj(item.chatContent)" ></div>
emj(value){
if(value.indexOf('[')){return value}//返回消息为文字
else{//返回消息为表情
let emImg;
for (let key in emojiMap) {
emImg = emojiUrl + emojiMap[key];
while (value.indexOf(key) != "-1") {
value= value.replace(
key,
`<img style='width:25px;' src=${emImg}>`
);
}
}
return value;
}
3、div--for循环中的某一项item添加样式。
<div v-for="(item, index) in List" :key="index" @click="setMsg(item)" :class="index == 0 ? 'clickNow':' '"></div>
.clickNow{background:red}就可以解决了。