实现代码:
先在data定义两个数组,分别是表情和存表情正则替换的符号表示
connectemoji: ['😊', '😅', '😲', '😭', '😂', '😄', '😩', '😞', '😵', '😒', '😍',
'😤', '😜', '😝', '😋', '😘', '😚', '😷', '😳', '😃', '😆', '😁', '😢', '😨',
'😠', '😣', '😌', '😖', '😔', '😰', '😱', '😪', '😏', '😓'
],
emoji_list: ['emoji1i1', 'emoji2i2', 'emoji3i3', 'emoji4i4', 'emoji5i5', 'emoji6i6', 'emoji7i7', 'emoji8i8', 'emoji9i9', 'emoji10i10', 'emoji11i11', 'emoji12i12', 'emoji13i13', 'emoji14i14', 'emoji15i15', 'emoji16i16', 'emoji17i17', 'emoji18i18', 'emoji19i19', 'emoji20i20', 'emoji21i21', 'emoji22i22', 'emoji23i23', 'emoji24i24', 'emoji25i25', 'emoji26i26', 'emoji27i27', 'emoji28i28', 'emoji29i29', 'emoji30i30', 'emoji31i31', 'emoji32i32', 'emoji33i33', 'emoji34i34'],
添加表情,inputValue是输入框的值
add_biaoqing(e) {
console.log(e.currentTarget.id);
let inputValue = this.data.inputValue;
inputValue = inputValue + e.currentTarget.id;
this.setData({
inputValue,
})
},
发送表情,存入数据库,
let connectemoji = this.data.connectemoji
let inputValue = self.data.inputValue;
for (let i = 0; i < connectemoji.length; i++) {
inputValue = inputValue.replace(new RegExp(connectemoji[i], 'g'), this.data.emoji_list[i])
}
接收数据库的数据显示时,替换回来
for (var i = 0; i < res.data.list.length; i++) {
for (let j = 0; j < self.data.connectemoji.length; j++) {
try {
res.data.list[i].content = res.data.list[i].content.replace(new RegExp(self.data.emoji_list[j], 'g'), self.data.connectemoji[j])
} catch (ere) {}
}
}