uniapp,h5

EmojiPicker.vue 900B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <template>
  2. <div class="emoji-picker">
  3. <div class="emoji-row" v-for="row in emojis" :key="row.id">
  4. <div class="emoji" @click="selectEmoji(emoji)" v-for="emoji in row.emojis" :key="emoji.code">
  5. {{ emoji.symbol }}
  6. </div>
  7. </div>
  8. </div>
  9. </template>
  10. <script>
  11. export default {
  12. name: 'EmojiPicker',
  13. data() {
  14. return {
  15. emojis: [{
  16. id: 1,
  17. emojis: [{
  18. id: 1,
  19. symbol: '😀',
  20. code: 'grinning'
  21. },
  22. {
  23. id: 2,
  24. symbol: '😂',
  25. code: 'grinning-squinting-tears'
  26. },
  27. // 更多emoji...
  28. ]
  29. },
  30. // 更多行...
  31. ],
  32. };
  33. },
  34. methods: {
  35. selectEmoji(emoji) {
  36. this.$emit('emoji-selected', emoji);
  37. },
  38. },
  39. };
  40. </script>
  41. <style scoped>
  42. .emoji-picker {
  43. /* 定义样式 */
  44. }
  45. .emoji-row {
  46. display: flex;
  47. }
  48. .emoji {
  49. padding: 4px;
  50. cursor: pointer;
  51. margin: 2px;
  52. }
  53. </style>