framework.vue 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <template>
  2. <div class="dynamic-form-design">
  3. <div class="dynamic-form-design__components">
  4. <slot name="components"></slot>
  5. </div>
  6. <div class="dynamic-form-design__form">
  7. <div class="dynamic-form-design__toolbar">
  8. <slot name="toolbar"></slot>
  9. </div>
  10. <slot></slot>
  11. </div>
  12. <div class="dynamic-form-design__property">
  13. <slot name="property"></slot>
  14. </div>
  15. </div>
  16. </template>
  17. <style lang="less">
  18. .side-style-mixin{
  19. flex-shrink: 0;
  20. width: 250px;
  21. border: 1px solid #ddd;
  22. background: #fff;
  23. }
  24. .dynamic-form-design{
  25. display: flex;
  26. height: 100%;
  27. &__components{
  28. .side-style-mixin;
  29. padding: 8px 0;
  30. }
  31. &__form{
  32. box-sizing: border-box;
  33. height: 100%;
  34. flex-grow: 1;
  35. min-width: 300px;
  36. border-style: solid;
  37. border-color: #ddd;
  38. border-width: 1px 0 1px 0;
  39. }
  40. &__toolbar{
  41. height: 45px;
  42. padding: 0 20px;
  43. background-color: #fff;
  44. border-bottom: 1px solid #ddd;
  45. line-height: 45px;
  46. text-align: right;
  47. }
  48. &__property{
  49. .side-style-mixin;
  50. width: 300px;
  51. }
  52. }
  53. </style>