index.ts 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import { InputNumber } from "ant-design-vue";
  2. import { createAttrsForm } from "../../../defines/createAttrsForm";
  3. import { createCompHooks } from "../../../defines/createCompHooks";
  4. import { createCompId } from "../../../defines/createCompId";
  5. export { Component } from "./component";
  6. export const options = {
  7. name: "卡片",
  8. thumbnail: require("@/assets/comps/Card11/thumbnail.jpg"),
  9. };
  10. export const { createComp, useCompData, useCreateChild } = createCompHooks({
  11. layout: {
  12. size: [750, 500],
  13. },
  14. value: {
  15. columns: 3,
  16. },
  17. children: {
  18. text: () =>
  19. createCompId("Text", {
  20. value: `<p><span style="color:hsl(0, 0%, 30%);font-size:12px;">皮中贵族,触及之处皆舒适,柔韧度高的细腻肌理皮革,触感柔润亲肤,透气</span></p><p><span style="color:hsl(0, 0%, 30%);font-size:12px;">质量经久耐磨,性价比高, 经典之作用不过时。 </span></p>`,
  21. layout: {
  22. textAlign: "center",
  23. },
  24. }),
  25. img1: () =>
  26. createCompId("Image", {
  27. value: {
  28. url: require("@/assets/comps/Card11/img_1.jpg"),
  29. },
  30. layout: {
  31. size: [251, 417],
  32. },
  33. }),
  34. img2: () =>
  35. createCompId("Image", {
  36. value: {
  37. url: require("@/assets/comps/Card11/img_shoe.png"),
  38. },
  39. layout: {
  40. size: [317, 240],
  41. },
  42. }),
  43. list: (defaultOpts: any, length = 3) => {
  44. let i = 0;
  45. return Array.from({ length }, () => {
  46. i = i + 1;
  47. return createCompId("Image", {
  48. value: {
  49. url: require(`@/assets/comps/Card11/cover_${i}.png`),
  50. },
  51. layout: {
  52. size: [72, 72],
  53. },
  54. });
  55. });
  56. },
  57. },
  58. });
  59. export const Form = createAttrsForm([
  60. {
  61. label: "列表行数",
  62. dataIndex: "value.columns",
  63. component: InputNumber,
  64. },
  65. ]);