Drawer4.vue 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <template>
  2. <BasicDrawer v-bind="$attrs" @register="register" title="Drawer Title" width="50%">
  3. <div>
  4. <BasicForm @register="registerForm" />
  5. </div>
  6. </BasicDrawer>
  7. </template>
  8. <script lang="ts">
  9. import { defineComponent } from 'vue';
  10. import { BasicDrawer, useDrawerInner } from '/@/components/Drawer';
  11. import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
  12. const schemas: FormSchema[] = [
  13. {
  14. field: 'field1',
  15. component: 'Input',
  16. label: '字段1',
  17. colProps: {
  18. span: 12,
  19. },
  20. defaultValue: '111',
  21. },
  22. {
  23. field: 'field2',
  24. component: 'Input',
  25. label: '字段2',
  26. colProps: {
  27. span: 12,
  28. },
  29. },
  30. ];
  31. export default defineComponent({
  32. components: { BasicDrawer, BasicForm },
  33. setup() {
  34. const [registerForm, { setFieldsValue }] = useForm({
  35. labelWidth: 120,
  36. schemas,
  37. showActionButtonGroup: false,
  38. actionColOptions: {
  39. span: 24,
  40. },
  41. });
  42. const [register] = useDrawerInner((data) => {
  43. // 方式1
  44. setFieldsValue({
  45. field2: data.data,
  46. field1: data.info,
  47. });
  48. });
  49. return { register, schemas, registerForm };
  50. },
  51. });
  52. </script>