javascript - 如何将 vue-emoji-picker 选择的表情符号与文本一起保存到数据库?
问题描述
我需要将使用 v-emoji-picker 添加到输入中的表情符号和文本保存到数据库中。
我点击没有问题的表情符号显示在 v-model 中。但是,当我用 axios 保存文本时,会出现正文本身,而不是表情符号别名。也不在数据库中注册。
我需要将文本和表情符号保存为一个整体,并在以后进入页面时以相同的方式显示它们。这是我的代码
<template>
<div id="exampleInputEmoji">
<div class="your-input-box">
<b-btn @click="save()">Save</b-btn>
<input type="text" v-model="valueInput" />
<button @click="toogleDialogEmoji"></button>
</div>
<VEmojiPicker
v-show="showDialog"
:style="{ width: '440px', height: '200' }"
labelSearch="Search"
lang="pt-BR"
@select="onSelectEmoji"
/>
</div>
</template>
<script>
import { VEmojiPicker, emojisDefault, categoriesDefault } from "v-emoji-picker";
import axios from 'axios'
export default {
name: "exampleInputEmoji",
components: {
VEmojiPicker
},
data: () => ({
valueInput: "Someting text ",
showDialog: false
}),
mounted() {
console.log(categoriesDefault);
console.log("Total emojis:", emojisDefault.length);
},
methods: {
toogleDialogEmoji() {
console.log("Toogle!");
this.showDialog = !this.showDialog;
},
onSelectEmoji(emoji) {
console.log('secilenEmoji',emoji)
this.valueInput += emoji.data;
// Optional
// this.toogleDialogEmoji();
},
save(){
axios
.post(`http://127.0.0.1:8086/notification`, {
body:this.valueInput
})
.then((response) => response.data);
}
}
};
</script>
<style lang="css" scoped>
/* THIS IS OPTIONAL */
/* @font-face {
font-family: NotomojiColor;
font-weight: 400;
src: url(
https://cdn.glitch.com/61908de1-dd0a-4359-a54b-6cb6d41bb5fd%2FNotoColorEmoji.ttf?1513108808150
)format("truetype");
} */
#exampleInputEmoji {
position: relative;
}
.your-input-box {
display: flex;
align-items: center;
justify-content: center;
}
input {
padding: 8px;
font-size: 16px;
margin-right: 2px;
border-radius: 4px;
border: 1px solid #848484;
}
button {
background: #ececec;
border-radius: 4px;
padding: 5px;
font-size: 22px;
border: 1px solid #848484;
}
</style>
解决方案
尝试设置您的数据库:
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
和表:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
推荐阅读
- sql - PostgreSQL 如何查询字符串数组
- asp.net-core-mvc - 从下拉列表中获取选定项目并将其传递给 onClick 事件
- javascript - React 使用仪表板构建 CMS 如何显示隐藏仪表板组件
- swift - 即使在设备旋转之后也约束/居中 CAEmitterLayer
- python - pyrequests 将 dict 值编码为 JSON 中的列表
- r - 为什么 dplyr 过滤器不接受整数数据帧?
- java - 为什么我收到 java.sql.SQLException:当 url 正确且驱动程序存在时找不到合适的驱动程序?
- python - 如何根据第一次出现的唯一列值获取行
- localforage - 如何为移动应用初始化 localForage
- javascript - 如何从异步函数中获取数据并在获取数据后允许下一个代码执行