PageForm.tsx 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { useEditor } from "@/modules/editor";
  2. import { DesignComp } from "@/modules/editor/objects/DesignTemp/DesignComp";
  3. import FormUI, { ColumnItem } from "@queenjs/components/FormUI";
  4. import { defineComponent } from "vue";
  5. import { any } from "vue-types";
  6. import { createColorOpts } from "../../defines/formOpts/createColorOpts";
  7. const styleColumns: ColumnItem[] = [
  8. {
  9. label: "内边距",
  10. dataIndex: "layout.padding",
  11. component: "Input",
  12. },
  13. {
  14. label: "背景颜色",
  15. dataIndex: "layout.background.color",
  16. ...createColorOpts(),
  17. },
  18. ];
  19. export const PageForm = defineComponent({
  20. props: {
  21. component: any<DesignComp>().isRequired,
  22. },
  23. setup(props) {
  24. const { actions } = useEditor();
  25. function changeVal(e: { dataIndex: string; value: any }) {
  26. actions.updateCompDataByForm(props.component, e.dataIndex, e.value);
  27. }
  28. return () => {
  29. const { layout } = props.component;
  30. return (
  31. <>
  32. <div>页面样式</div>
  33. <FormUI data={layout} columns={styleColumns} onChange={changeVal} />
  34. </>
  35. );
  36. };
  37. },
  38. });