共用弹框之新增/编辑(二)-封装的wangeditor富文本组件
封装的wangeditor富文本组件
src/views/components/Editor/index.vue
<template>
<div ref="editorRef"></div>
</template>
<script lang="ts">
import {
defineComponent,
onMounted,
ref,
reactive,
toRefs,
nextTick,
onBeforeUnmount,
watch, onUnmounted
} from 'vue';
import E from 'wangeditor';
export default defineComponent({
name: 'editor',
components: {},
props: ['value'],
setup(props, context) {
const state = reactive({
editorRef: null,
editor: null
});
const watchValue= watch(props, p => {
p.value &&
state.editor &&
state.editor.txt.html(`<p>${props.value}</p>`);
!p.value && state.editor && state.editor.txt.html(`<p></p>`);
})
onMounted(() => {
nextTick(() => {
state.editor = new E(state.editorRef);
state.editor.config.onchange = function(html) {
//监控变化,同步更新到父组件
context.emit('setHtml', html);
context.emit('setText', state.editor.txt.text());
};
state.editor.create();
});
});
onUnmounted(()=>{
watchValue()
})
return {
...toRefs(state)
};
}
});
</script>
<style scoped lang="scss">
// :deep(.w-e-toolbar) {
//
z-index: 1000 !important;
// }
// :deep(.w-e-text-container) {
//
z-index: 1000 !important;
// }
</style>
最后
以上就是优秀云朵最近收集整理的关于共用弹框之新增编辑(二)-封装的wangeditor富文本组件的全部内容,更多相关共用弹框之新增编辑(二)-封装内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复