|  | @@ -1,41 +1,12 @@
 | 
	
		
			
				|  |  |  <script setup lang="ts">
 | 
	
		
			
				|  |  | -import "@wangeditor/editor/dist/css/style.css"; // 引入 css
 | 
	
		
			
				|  |  | -import { Editor, Toolbar } from "@wangeditor/editor-for-vue";
 | 
	
		
			
				|  |  | -import { useRenderIcon } from "@/components/ReIcon/src/hooks";
 | 
	
		
			
				|  |  | -import { onBeforeUnmount, ref, shallowRef, onMounted } from "vue";
 | 
	
		
			
				|  |  | -import Edit from "@iconify-icons/ep/edit";
 | 
	
		
			
				|  |  | +import { ref } from "vue";
 | 
	
		
			
				|  |  | +import { Base, Multi, PicUpload } from "./components";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  defineOptions({
 | 
	
		
			
				|  |  |    name: "Editor"
 | 
	
		
			
				|  |  |  });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -const mode = "default";
 | 
	
		
			
				|  |  | -// 编辑器实例,必须用 shallowRef
 | 
	
		
			
				|  |  | -const editorRef = shallowRef();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -// 内容 HTML
 | 
	
		
			
				|  |  | -const valueHtml = ref("<p>hello</p>");
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -// 模拟 ajax 异步获取内容
 | 
	
		
			
				|  |  | -onMounted(() => {
 | 
	
		
			
				|  |  | -  setTimeout(() => {
 | 
	
		
			
				|  |  | -    valueHtml.value = "<p>模拟 Ajax 异步设置内容</p>";
 | 
	
		
			
				|  |  | -  }, 1500);
 | 
	
		
			
				|  |  | -});
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -const toolbarConfig: any = { excludeKeys: "fullScreen" };
 | 
	
		
			
				|  |  | -const editorConfig = { placeholder: "请输入内容..." };
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -// 组件销毁时,也及时销毁编辑器
 | 
	
		
			
				|  |  | -onBeforeUnmount(() => {
 | 
	
		
			
				|  |  | -  const editor = editorRef.value;
 | 
	
		
			
				|  |  | -  if (editor == null) return;
 | 
	
		
			
				|  |  | -  editor.destroy();
 | 
	
		
			
				|  |  | -});
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -const handleCreated = editor => {
 | 
	
		
			
				|  |  | -  editorRef.value = editor; // 记录 editor 实例,重要!
 | 
	
		
			
				|  |  | -};
 | 
	
		
			
				|  |  | +const activeNames = ref(["1"]);
 | 
	
		
			
				|  |  |  </script>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <template>
 | 
	
	
		
			
				|  | @@ -47,7 +18,6 @@ const handleCreated = editor => {
 | 
	
		
			
				|  |  |            <el-link
 | 
	
		
			
				|  |  |              href="https://www.wangeditor.com"
 | 
	
		
			
				|  |  |              target="_blank"
 | 
	
		
			
				|  |  | -            :icon="useRenderIcon(Edit)"
 | 
	
		
			
				|  |  |              style="margin: 0 4px 5px; font-size: 16px"
 | 
	
		
			
				|  |  |            >
 | 
	
		
			
				|  |  |              Wangeditor
 | 
	
	
		
			
				|  | @@ -55,20 +25,22 @@ const handleCreated = editor => {
 | 
	
		
			
				|  |  |          </span>
 | 
	
		
			
				|  |  |        </div>
 | 
	
		
			
				|  |  |      </template>
 | 
	
		
			
				|  |  | -    <div class="wangeditor">
 | 
	
		
			
				|  |  | -      <Toolbar
 | 
	
		
			
				|  |  | -        style="border-bottom: 1px solid #ccc"
 | 
	
		
			
				|  |  | -        :editor="editorRef"
 | 
	
		
			
				|  |  | -        :defaultConfig="toolbarConfig"
 | 
	
		
			
				|  |  | -        :mode="mode"
 | 
	
		
			
				|  |  | -      />
 | 
	
		
			
				|  |  | -      <Editor
 | 
	
		
			
				|  |  | -        style="height: 500px; overflow-y: hidden"
 | 
	
		
			
				|  |  | -        v-model="valueHtml"
 | 
	
		
			
				|  |  | -        :defaultConfig="editorConfig"
 | 
	
		
			
				|  |  | -        :mode="mode"
 | 
	
		
			
				|  |  | -        @onCreated="handleCreated"
 | 
	
		
			
				|  |  | -      />
 | 
	
		
			
				|  |  | -    </div>
 | 
	
		
			
				|  |  | +    <el-collapse v-model="activeNames" accordion>
 | 
	
		
			
				|  |  | +      <el-collapse-item title="基础用法" name="1">
 | 
	
		
			
				|  |  | +        <Base />
 | 
	
		
			
				|  |  | +      </el-collapse-item>
 | 
	
		
			
				|  |  | +      <el-collapse-item title="多个富文本" name="2">
 | 
	
		
			
				|  |  | +        <Multi />
 | 
	
		
			
				|  |  | +      </el-collapse-item>
 | 
	
		
			
				|  |  | +      <el-collapse-item title="自定义图片上传" name="3">
 | 
	
		
			
				|  |  | +        <PicUpload />
 | 
	
		
			
				|  |  | +      </el-collapse-item>
 | 
	
		
			
				|  |  | +    </el-collapse>
 | 
	
		
			
				|  |  |    </el-card>
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<style lang="scss" scoped>
 | 
	
		
			
				|  |  | +:deep(.el-collapse-item__header) {
 | 
	
		
			
				|  |  | +  padding-left: 10px;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +</style>
 |