美文网首页react & vue & angular
tinymce-vue的深浅主题切换

tinymce-vue的深浅主题切换

作者: alue | 来源:发表于2022-07-15 23:00 被阅读0次

tinymce-vue没有提供开箱即用的主题色切换的方法,这里探索了一条道路,思路如下:

  1. 深浅主题加载的css不同,通过 skin_urlcontent_css 来设置。
const initOptions = computed(() => ({
    skin_url: "/tinymce/skins/ui/oxide" + (isDark.value ? "-dark" : ""),  
    content_css: isDark.value  
      ? "/tinymce/skins/content/dark/content.css"  
      : "/tinymce/skins/content/default/content.css",
    // ...
}));
  1. 切换主题时,先销毁过去的编辑器实体,然后再重新配置新的编辑器。

为了销毁之前的实体,需要传递给tinymce-vue一个id, 然后借助 tinymce.get(id)方法获取实体,利用实体的 destroy 方法实现销毁。

tinymce-vue没有提供重新初始化的方法,为了重新配置新的编辑器,只好采用 v-ifnextTick 指令,强制组件重新加载。

<template>  
  <editor  
    tinymce-script-src="/tinymce/tinymce.min.js"  
    :init="initOptions"  
    v-model="content"  
    :id="uuid"  
    v-if="!switching"  
  />  
</template>

<script setup>  
// ...
import tinymce from "tinymce";  
import Editor from "@tinymce/tinymce-vue";
import { v4 } from "uuid";    
// ...


const uuid = v4();

const switching = ref(false);  
watch(isDark, () => {  
  const instance = tinymce.get(uuid);  
  instance?.destroy();  
  switching.value = true;  
  nextTick(() => {  
    switching.value = false;  
  });  
});

</script>

结果展示

通过上述方法,完成了深浅主题切换,实现了预期效果。

相关文章

  • tinymce-vue的深浅主题切换

    tinymce-vue没有提供开箱即用的主题色切换的方法,这里探索了一条道路,思路如下: 深浅主题加载的css不同...

  • 切换主题

    日/夜间主题 使用Android Support Library 中的 UiMode来做“日/夜间主题” 以背景颜...

  • 主题切换

    主题切换在前几年很火的一个技术,俗称换肤!今天我们来实现下这个主题是怎么切换的。主体思路:1.要求的图片名是一样的...

  • 主题切换

    1.什么是主题切换? 就是在一个app中实现不同的主题.在同一种主题下,所有字体颜色一样,背景图的样式一样. 2....

  • 主题切换

    http://www.open-open.com/lib/view/open1460934455593.html ...

  • Flutter 学习 之 主题设置 ThemeData

    基于ThemeData 实现主题切换 1. 实现可以亮暗主题切换2. 实现可以颜色主题的切换3.当主题为白色的时候...

  • 富文本编辑器

    1 TinyMCE npm install tinymce @tinymce/tinymce-vue -Simpo...

  • flutter 完全使用GetX 主题切换 以及 自创建Widg

    序:原生的主题切换只能切换属性对应的固定部件,自己继承创建的文字颜色或者背景色无法跟随主题切换而切换 这篇将会解决...

  • iOS 答题功能实现

    最近项目中答题模块进行了优化,可切换主题,切换字体大小,答题背题模式。 答题主界面,可切换答题,背题模式 切换主题...

  • Jupyter Notebook 更换主题

    安装 命令行参数 切换主题 使用 jt -l 可列出可用的主题名: 使用 jq -t 主题名 -T -N 可以切换...

网友评论

    本文标题:tinymce-vue的深浅主题切换

    本文链接:https://www.haomeiwen.com/subject/zhocirtx.html