ChatingEmojiBar.vue 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <template>
  2. <view class="chat_emoji_bar">
  3. <scroll-view :scroll-y="true" class="emoji_scroll_view">
  4. <view class="emoji_row">
  5. <view
  6. @click="clickEmoji(emoji)"
  7. v-for="emoji in emojiList"
  8. :key="emoji"
  9. :id="emoji"
  10. class="emoji_col">
  11. <text class="emoji_text">{{ emoji }}</text>
  12. </view>
  13. </view>
  14. </scroll-view>
  15. </view>
  16. </template>
  17. <script>
  18. import emojis from "../../../../../common/emojis.js";
  19. export default {
  20. components: {},
  21. data() {
  22. return {};
  23. },
  24. computed: {
  25. emojiList() {
  26. return emojis;
  27. },
  28. },
  29. mounted() {},
  30. methods: {
  31. clickEmoji(emoji) {
  32. this.$emit("insertEmoji", emoji);
  33. },
  34. backspace() {
  35. this.$emit("backspace");
  36. },
  37. },
  38. };
  39. </script>
  40. <style lang="scss" scoped>
  41. .chat_emoji_bar {
  42. padding: 0;
  43. position: relative;
  44. height: 550rpx;
  45. background-color: #f0f2f6;
  46. }
  47. .emoji_scroll_view {
  48. flex: 1;
  49. padding: 24rpx 36rpx;
  50. }
  51. .emoji_row {
  52. flex-direction: row;
  53. flex-wrap: wrap;
  54. padding-bottom: 24rpx;
  55. }
  56. .emoji_col {
  57. width: 113rpx;
  58. height: 80rpx;
  59. align-items: center;
  60. justify-content: center;
  61. }
  62. .emoji_text {
  63. font-size: 50rpx;
  64. }
  65. </style>