vue-admin-core
Version:
A Component Library for Vue 3
61 lines (58 loc) • 1.29 kB
JavaScript
import { defineComponent, ref, watchEffect, h } from 'vue';
import { DomEditor, createToolbar } from '@wangeditor/editor';
var Toolbar = defineComponent({
name: "RickTextToolbar",
props: {
// editor 实例
editor: {
type: Object
},
/** 编辑器模式 */
mode: {
type: String,
default: "default"
},
/** 编辑器默认配置 */
defaultConfig: {
type: Object,
default: () => ({})
}
},
setup(props, {
expose
}) {
const selector = ref(null);
const create = (editor) => {
if (!selector.value)
return;
if (editor == null) {
throw new Error("Not found instance of Editor when create <Toolbar/> component");
}
if (DomEditor.getToolbar(editor))
return;
createToolbar({
editor,
selector: selector.value || "<div></div>",
mode: props.mode,
config: props.defaultConfig
});
};
watchEffect(() => {
const {
editor
} = props;
if (editor == null)
return;
create(editor);
});
expose({
selector
});
return () => h("div", {
class: "vac-toolbar",
ref: selector
});
}
});
export { Toolbar as default };
//# sourceMappingURL=Toolbar.mjs.map