App.vue 553 B

12345678910111213141516171819
  1. <script setup lang="ts">
  2. import type { Spec } from "@json-render/core";
  3. import { StateProvider } from "@json-render/vue";
  4. import DemoRenderer from "./DemoRenderer.vue";
  5. const props = defineProps<{
  6. initialRenderer?: string; spec: Spec }>();
  7. const initialState = {
  8. ...props.spec.state,
  9. renderer: props.initialRenderer ?? "vue" };
  10. </script>
  11. <template>
  12. <div :class="`renderer-${props.initialRenderer ?? 'vue'}`">
  13. <StateProvider :initial-state="initialState">
  14. <DemoRenderer :spec="props.spec" />
  15. </StateProvider>
  16. </div>
  17. </template>