addEditor.vue 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <template>
  2. <div class="w-full h-full flex flex-col">
  3. <div class="flex-1 overflow-y-auto">
  4. <CustomerForm ref="formFormRef" :formJson="formJson" :formValue="formVal"></CustomerForm>
  5. </div>
  6. <div class="mar-20px ">
  7. <van-button type="primary" @click="onSubmit" class="w-full">
  8. {{ Object.keys(formVal).length > 0 ? '确定修改' : '确定添加' }}
  9. </van-button>
  10. </div>
  11. </div>
  12. </template>
  13. <script setup>
  14. import { ref, onActivated } from 'vue';
  15. import { useLifecycle } from '@hooks/useCommon.js';
  16. import CustomerForm from '@components/common/formForm/formView.vue'
  17. const props = defineProps({
  18. formJson: { required: true },
  19. formValue: { required: true },
  20. });
  21. const formFormRef = ref(null)
  22. const formVal = ref({})
  23. function onSubmit() {
  24. formFormRef.value.getJsonData().then((res) => {
  25. console.log('表单验证成功', res, JSON.stringify(res));
  26. })
  27. }
  28. useLifecycle({
  29. load: () => {
  30. formVal.value = props.formValue
  31. },
  32. init: () => {
  33. formVal.value = props.formValue
  34. }
  35. });
  36. onActivated(() => {
  37. })
  38. </script>
  39. <style lang='scss' scoped>
  40. /* 样式代码 */
  41. </style>