通用评论

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import React from "react";
  2. import { Carousel } from "antd";
  3. import emoji, { prefixUrl, ext } from "../../emoji";
  4. import "./Emoji.css";
  5. // 每页 20 5*4
  6. // 共 20 * 3 = 60 (实际是 54)
  7. // class Emoji
  8. const Emoji = ({ onClick }) => {
  9. const content = [[], [], []];
  10. for (let i = 0; i < emoji.length; i++) {
  11. if (i < 20) {
  12. content[0].push(emoji[i]);
  13. } else if (i < 40) {
  14. content[1].push(emoji[i]);
  15. } else if (i < emoji.length) {
  16. content[2].push(emoji[i]);
  17. }
  18. }
  19. return (
  20. <Carousel>
  21. <div>
  22. {content[0].map((item, index) => (
  23. <div className="item" key={item.value}>
  24. <span className="helper" />
  25. <img
  26. src={`${prefixUrl}${item.value}.${ext}`}
  27. alt={item.title}
  28. style={{ display: "inline-block" }}
  29. onClick={() => onClick(item.title)}
  30. />
  31. </div>
  32. ))}
  33. </div>
  34. <div>
  35. {content[1].map((item, index) => (
  36. <div className="item" key={item.value}>
  37. <span className="helper" />
  38. <img
  39. src={`${prefixUrl}${item.value}.${ext}`}
  40. alt={item.title}
  41. style={{ display: "inline-block" }}
  42. onClick={() => onClick(item.title)}
  43. />
  44. </div>
  45. ))}
  46. </div>
  47. <div>
  48. {content[2].map(item => (
  49. <div className="item" key={item.value}>
  50. <span className="helper" />
  51. <img
  52. src={`${prefixUrl}${item.value}.${ext}`}
  53. alt={item.title}
  54. style={{ display: "inline-block" }}
  55. onClick={() => onClick(item.title)}
  56. />
  57. </div>
  58. ))}
  59. </div>
  60. </Carousel>
  61. );
  62. };
  63. export default Emoji;