CodeEditor.vue 670 B

12345678910111213141516171819202122232425262728293031323334
  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(['content', 'defaultHeight'])
  7. const emit = defineEmits(['update:content'])
  8. const value = computed({
  9. get() {
  10. return props.content ?? ''
  11. },
  12. set(value) {
  13. emit('update:content', value)
  14. }
  15. })
  16. </script>
  17. <template>
  18. <v-ace-editor
  19. v-model:value="value"
  20. lang="nginx"
  21. theme="monokai"
  22. :style="{
  23. minHeight: defaultHeight || '100vh',
  24. borderRadius: '5px'
  25. }"/>
  26. </template>
  27. <style scoped>
  28. </style>