1
0
mirror of https://github.com/PanJiaChen/vue-element-admin.git synced 2026-01-07 23:47:00 +08:00

Merge 943d2419ca139905116ffd3ddb3d41f5ecf97803 into 6858a9ad67483025f6a9432a926beb9327037be3

This commit is contained in:
itsimddc 2025-09-14 00:38:21 +08:00 committed by GitHub
commit c779857e22
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 48 additions and 35 deletions

View File

@ -34,7 +34,7 @@
"screenfull": "4.2.0",
"script-loader": "0.7.2",
"sortablejs": "1.8.4",
"tui-editor": "1.3.3",
"@toast-ui/editor": "3.1.3",
"vue": "2.6.10",
"vue-count-to": "1.0.13",
"vue-router": "3.0.2",

View File

@ -7,25 +7,31 @@ export default {
usageStatistics: false,
hideModeSwitch: false,
toolbarItems: [
'heading',
'bold',
'italic',
'strike',
'divider',
'hr',
'quote',
'divider',
'ul',
'ol',
'task',
'indent',
'outdent',
'divider',
'table',
'image',
'link',
'divider',
'code',
'codeblock'
[
'heading',
'bold',
'italic',
'strike'
],
[
'hr',
'quote'
],
[
'ul',
'ol',
'task',
'indent'
],
[
'outdent',
'table',
'image',
'link'
],
[
'code',
'codeblock'
]
]
}

View File

@ -5,10 +5,9 @@
<script>
// deps for editor
import 'codemirror/lib/codemirror.css' // codemirror
import 'tui-editor/dist/tui-editor.css' // editor ui
import 'tui-editor/dist/tui-editor-contents.css' // editor content
import '@toast-ui/editor/dist/toastui-editor.css' // Editor's Style
import Editor from 'tui-editor'
import Editor from '@toast-ui/editor'
import defaultOptions from './default-options'
export default {
@ -62,8 +61,8 @@ export default {
},
watch: {
value(newValue, preValue) {
if (newValue !== preValue && newValue !== this.editor.getValue()) {
this.editor.setValue(newValue)
if (newValue !== preValue && newValue !== this.editor.getMarkdown()) {
this.editor.setMarkdown(newValue)
}
},
language(val) {
@ -85,27 +84,29 @@ export default {
},
methods: {
initEditor() {
console.log(this.editorOptions)
this.editor = new Editor({
el: document.getElementById(this.id),
...this.editorOptions
})
if (this.value) {
this.editor.setValue(this.value)
this.editor.setMarkdown(this.value)
}
this.editor.on('change', () => {
this.$emit('input', this.editor.getValue())
this.$emit('input', this.editor.getMarkdown())
})
this.editor.getMarkdown()
},
destroyEditor() {
if (!this.editor) return
this.editor.off('change')
this.editor.remove()
this.editor.destroy()
},
setValue(value) {
this.editor.setValue(value)
this.editor.setMarkdown(value)
},
getValue() {
return this.editor.getValue()
return this.editor.getMarkdown()
},
setHtml(value) {
this.editor.setHtml(value)

View File

@ -20,14 +20,19 @@
<el-tag class="tag-title">
Markdown Mode:
</el-tag>
<markdown-editor ref="markdownEditor" v-model="content2" :options="{hideModeSwitch:true,previewStyle:'tab'}" height="200px" />
<markdown-editor
ref="markdownEditor"
v-model="content2"
:options="{ hideModeSwitch: true, previewStyle: 'tab' }"
height="200px"
/>
</div>
<div class="editor-container">
<el-tag class="tag-title">
Customize Toolbar:
</el-tag>
<markdown-editor v-model="content3" :options="{ toolbarItems: ['heading','bold','italic']}" />
<markdown-editor v-model="content3" :options="{ toolbarItems: [['heading', 'bold', 'italic']] }" />
</div>
<div class="editor-container">
@ -92,10 +97,11 @@ export default {
</script>
<style scoped>
.editor-container{
.editor-container {
margin-bottom: 30px;
}
.tag-title{
.tag-title {
margin-bottom: 5px;
}
</style>