CodeEditor.vue 674 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <script setup lang="ts">
  2. import { VAceEditor } from 'vue3-ace-editor'
  3. import 'ace-builds/src-noconflict/mode-nginx'
  4. import 'ace-builds/src-noconflict/theme-monokai'
  5. import { computed } from 'vue'
  6. const props = defineProps<{
  7. content?: string
  8. defaultHeight?: string
  9. }>()
  10. const emit = defineEmits(['update:content'])
  11. const value = computed({
  12. get() {
  13. return props.content ?? ''
  14. },
  15. set(v) {
  16. emit('update:content', v)
  17. },
  18. })
  19. </script>
  20. <template>
  21. <VAceEditor
  22. v-model:value="value"
  23. lang="nginx"
  24. theme="monokai"
  25. :style="{
  26. minHeight: defaultHeight || '100vh',
  27. borderRadius: '5px',
  28. }"
  29. />
  30. </template>
  31. <style scoped>
  32. </style>