| |
| let sidebarShow: any; |
| const createDialog = async (visible: boolean, data?: any) => { |
| const HelloWorld = (await import("../components/Sidebar.vue")).default; |
| let app = createApp( |
| h(HelloWorld, { |
| visible, |
| data, |
| }) |
| ); |
| if (!sidebarShow) sidebarShow = app; |
| if (visible) { |
| sidebarShow.mount(".hahaah"); |
| } else { |
| sidebarShow.unmount(); |
| sidebarShow = null; |
| } |
| }; |
| / sidebar.vue |
| <template> |
| <div v-show="visible"> |
| <ul class="sidebar"> |
| <li v-for="item in shareStatusList" :key="item" style="list-style-type:none;margin-bottom:5px;"><a |
| onmouseover="this.style.color='red'" onmouseout="this.style.color='#606266'" style="cursor: pointer;" |
| @click="jump(item.value)"> |
| {{item.label}}</a></li> |
| </ul> |
| </div> |
| </template> |
| |
| <script lang="ts"> |
| import { defineComponent, ref } from "vue"; |
| |
| export default defineComponent({ |
| props: { |
| visible: { |
| type: Boolean, |
| default: false, |
| }, |
| data: Array, |
| }, |
| setup(props, context) { |
| const shareStatusList = ref(props.data); |
| context.emit("update:visible", props.visible); |
| |
| const jump = (name: string) => { |
| let docu = document.getElementsByName(name) as NodeListOf<HTMLElement>; |
| docu[0].scrollIntoView({ behavior: "smooth" }); |
| console.log(docu); |
| }; |
| return { shareStatusList, jump }; |
| }, |
| }); |
| </script> |
| |
| <style lang="scss" scoped> |
| .sidebar { |
| z-index: 99999999; |
| position: absolute; |
| top: 0; |
| right: 0%; |
| background: rgba(255, 255, 255, 0.8); |
| border-radius: 8px; |
| padding: 10px; |
| } |
| </style> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律