diff --git a/package.json b/package.json index 8afc9c3..681661e 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "vue": "3.0.4", "vue-router": "4.0.0-rc.6", "vuex": "4.0.0-rc.2", - "wangeditor": "^4.5.2", + "wangeditor": "4.5.4", "web-storage-cache": "^1.1.1" }, "devDependencies": { diff --git a/src/components/Editor/index.vue b/src/components/Editor/index.vue index 45de15d..1754118 100644 --- a/src/components/Editor/index.vue +++ b/src/components/Editor/index.vue @@ -11,7 +11,7 @@ import 'highlight.js/styles/monokai-sublime.css' export default defineComponent({ name: 'Editor', props: editorProps, - emits: ['change', 'focus', 'blur', 'update:value'], + emits: ['change', 'focus', 'blur', 'update:modelValue'], setup(props, { emit }) { const editorRef = ref(null) const editor = ref(null) @@ -101,8 +101,8 @@ export default defineComponent({ // 配置 onchange 回调函数 editor.config.onchange = (html: string) => { const text = editor.txt.text() - emitFun(editor, html, 'change') - emit('update:value', props.valueType === 'html' ? html : text) + emitFun(editor, props.valueType === 'html' ? html : text, 'change') + // emit('update:modelValue', props.valueType === 'html' ? html : text) } // 配置触发 onchange 的时间频率,默认为 200ms editor.config.onchangeTimeout = onchangeTimeout @@ -121,8 +121,21 @@ export default defineComponent({ emit(type, props.valueType === 'html' ? html : text) } + function getHtml() { + if (editor.value) { + return unref(editor.value as any).txt.html() + } + } + + function getText() { + if (editor.value) { + return unref(editor.value as any).txt.text() + } + } + return { - editorRef + editorRef, + getHtml, getText } } }) diff --git a/src/components/Editor/props.ts b/src/components/Editor/props.ts index 2c42310..52ab1e6 100644 --- a/src/components/Editor/props.ts +++ b/src/components/Editor/props.ts @@ -14,7 +14,7 @@ export const editorProps = { zIndex: 0, placeholder: '请输入文本', focus: false, - onchangeTimeout: 500, + onchangeTimeout: 1000, customAlert: (s: string, t: string) => { switch (t) { case 'success': diff --git a/src/components/Preview/functional.ts b/src/components/Preview/index.ts similarity index 100% rename from src/components/Preview/functional.ts rename to src/components/Preview/index.ts diff --git a/src/components/index.ts b/src/components/index.ts index 62ff907..240ee10 100644 --- a/src/components/index.ts +++ b/src/components/index.ts @@ -1,6 +1,10 @@ import type { App } from 'vue' import Dialog from './Dialog/index.vue'// Dialog组件 +import ComTable from './Table/index.vue'// Table组件 +import ComSearch from './Search/index.vue'// Search组件 export function setupGlobCom(app: App): void { app.component('ComDialog', Dialog) + app.component('ComTable', ComTable) + app.component('ComSearch', ComSearch) } diff --git a/src/pages/index/views/components-demo/editor/index.vue b/src/pages/index/views/components-demo/editor/index.vue index 18afa7d..cb21fe2 100644 --- a/src/pages/index/views/components-demo/editor/index.vue +++ b/src/pages/index/views/components-demo/editor/index.vue @@ -7,12 +7,17 @@ type="info" style="margin-bottom: 20px;" /> - + + +
+ 获取HTML(请在控制台查看) + 获取TEXT(请在控制台查看) +
- - diff --git a/src/pages/index/views/components-demo/search/index.vue b/src/pages/index/views/components-demo/search/index.vue index 5439778..6f14cc9 100644 --- a/src/pages/index/views/components-demo/search/index.vue +++ b/src/pages/index/views/components-demo/search/index.vue @@ -15,7 +15,7 @@ style="margin-bottom: 20px;margin-top: 20px;" />
-
-
- import { defineComponent, ref } from 'vue' -import Search from '_c/Search/index.vue' import { classicData } from './classic-data' export default defineComponent({ // name: 'SearchDemo', - components: { - Search - }, setup() { const formData1 = ref<{[key: string]: any} | null>(null) const formData2 = ref<{[key: string]: any} | null>(null) diff --git a/src/pages/index/views/example-demo/example/components/IfnoWrite.vue b/src/pages/index/views/example-demo/example/components/IfnoWrite.vue index 9e0a2c3..5b5edcf 100644 --- a/src/pages/index/views/example-demo/example/components/IfnoWrite.vue +++ b/src/pages/index/views/example-demo/example/components/IfnoWrite.vue @@ -48,7 +48,7 @@ - + @@ -87,6 +87,7 @@ export default defineComponent({ emits: ['close', 'success'], setup(props, { emit }) { const formRef = ref(null) + const editorRef = ref(null) const subLoading = ref(false) const form = reactive({ @@ -136,6 +137,8 @@ export default defineComponent({ // 新增或者编辑 function setListData() { const formRefWrap = unref(formRef as any) + const editorRefWrap = unref(editorRef as any) + form.content = editorRefWrap.getHtml() try { subLoading.value = true formRefWrap.validate(async(valid: boolean) => { @@ -166,7 +169,7 @@ export default defineComponent({ } return { - formRef, + formRef, editorRef, subLoading, form, rules, diff --git a/src/pages/index/views/example-demo/example/index.vue b/src/pages/index/views/example-demo/example/index.vue index 58e467d..f2aa74d 100644 --- a/src/pages/index/views/example-demo/example/index.vue +++ b/src/pages/index/views/example-demo/example/index.vue @@ -1,7 +1,7 @@