App.vue 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. <template>
  2. <DesignForm :preview="true" ref="designForm" />
  3. <div @click="getDataJson()">获取数据</div>
  4. <div @click="setDataJson()">设置数据</div>
  5. </template>
  6. <script lang="ts" setup>
  7. import { ref } from "vue";
  8. import { DesignForm } from '@zmjs/form-design'
  9. const designForm: any = ref(null)
  10. function getDataJson() {
  11. console.log(designForm.value.getJson())
  12. console.log(JSON.stringify(designForm.value.getJson()))
  13. }
  14. function setDataJson() {
  15. let data = '{"list":[{"label":"单行文本", "allDisable":"true","type":"input","options":{"width":"100%","defaultValue":"","placeholder":"","maxlength":null,"prefix":"","suffix":"","prepend":"","append":"","disabled":false,"clearable":false,"readonly":false,"rules":{"trigger":"blur","enum":"","message":"","pattern":"","required":false,"type":"any"}},"key":"5o2w9yk","model":"plate1"}],"config":{"size":"default","hideRequiredAsterisk":false,"labelWidth":100,"labelPosition":"right"}}'
  16. console.log(JSON.parse(data))
  17. designForm.value.setJson(JSON.parse(data))
  18. }
  19. </script>
  20. <style>
  21. html,
  22. body,
  23. #app {
  24. height: 100%;
  25. padding: 0;
  26. margin: 0;
  27. }
  28. </style>