{"id":1713,"date":"2025-09-02T10:27:00","date_gmt":"2025-09-02T02:27:00","guid":{"rendered":"https:\/\/zero-zl.cn\/?p=1713"},"modified":"2025-09-03T16:45:32","modified_gmt":"2025-09-03T08:45:32","slug":"02-%e4%bd%bf%e7%94%a8vue3%e9%9b%86%e6%88%90element-plus%e5%bf%ab%e9%80%9f%e6%90%ad%e5%bb%ba%e4%b8%80%e4%b8%aa%e7%ae%a1%e7%90%86%e7%b3%bb%e7%bb%9f%e7%9a%84%e9%a1%b5%e9%9d%a2%e6%a1%86%e6%9e%b6","status":"publish","type":"post","link":"https:\/\/zero-zl.cn\/index.php\/2025\/09\/02\/02-%e4%bd%bf%e7%94%a8vue3%e9%9b%86%e6%88%90element-plus%e5%bf%ab%e9%80%9f%e6%90%ad%e5%bb%ba%e4%b8%80%e4%b8%aa%e7%ae%a1%e7%90%86%e7%b3%bb%e7%bb%9f%e7%9a%84%e9%a1%b5%e9%9d%a2%e6%a1%86%e6%9e%b6\/","title":{"rendered":"02. \u4f7f\u7528Vue3\u96c6\u6210Element-Plus\u5feb\u901f\u642d\u5efa\u4e00\u4e2a\u7ba1\u7406\u7cfb\u7edf\u7684\u9875\u9762\u6846\u67b6"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Element-Plus\u7b80\u4ecb<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Element-Plus\u662f\u4e00\u5957\u524d\u7aefUI\u6846\u67b6\uff0c\u53ef\u4ee5\u901a\u8fc7\u5b83\u5feb\u901f\u5b9e\u73b0\u7cbe\u7f8e\u7684\u9875\u9762\u6837\u5f0f<br>\u5b98\u7f51\uff1a<a href=\"https:\/\/element-plus.org\">https:\/\/element-plus.org<\/a><br>\u56fd\u5185\u955c\u50cf\uff1a<a href=\"https:\/\/cn.element-plus.org\/\">https:\/\/cn.element-plus.org\/<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vue3\u96c6\u6210Element-Plus<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b89\u88c5\u4f9d\u8d56<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npm  i element-plus -S<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b89\u88c5\u5b8c\u540e\u5728package.json\u91cc\u4f1a\u81ea\u52a8\u51fa\u73b0element-plus\u7248\u672c<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/zero-zl.cn\/wp-content\/uploads\/2025\/09\/image-20-1024x216.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"216\" data-original=\"https:\/\/zero-zl.cn\/wp-content\/uploads\/2025\/09\/image-20-1024x216.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-1718\" style=\"width:768px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b89\u88c5\u7684\u6587\u4ef6\u5728node_modules\u7684element-plus\u91cc<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/zero-zl.cn\/wp-content\/uploads\/2025\/09\/image-21.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"266\" height=\"299\" data-original=\"https:\/\/zero-zl.cn\/wp-content\/uploads\/2025\/09\/image-21.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-1722\"\/><\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728main.js\u91cc\u5f15\u5165<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import ElementPlus from 'element-plus'\nimport 'element-plus\/dist\/index.css'\nimport zhCn from 'element-plus\/es\/locale\/lang\/zh-cn'\n\napp.use(ElementPlus, { locale: zhCn })<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u6d4b\u8bd5Element-Plus\u7ec4\u4ef6<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728Home.vue\u91cc\u4f7f\u7528\u5b98\u65b9\u7684\u6309\u94ae\u7ec4\u4ef6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    &lt;el-button&gt;Default&lt;\/el-button&gt;\n    &lt;el-button type=\"primary\"&gt;Primary&lt;\/el-button&gt;\n    &lt;el-button type=\"success\"&gt;Success&lt;\/el-button&gt;\n    &lt;el-button type=\"info\"&gt;Info&lt;\/el-button&gt;\n    &lt;el-button type=\"warning\"&gt;Warning&lt;\/el-button&gt;\n    &lt;el-button type=\"danger\"&gt;Danger&lt;\/el-button&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Home.vue\u6d4b\u8bd5\u5185\u5bb9<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;div&gt;\n    &lt;el-button&gt;Default&lt;\/el-button&gt;\n    &lt;el-button type=\"primary\"&gt;Primary&lt;\/el-button&gt;\n    &lt;el-button type=\"success\"&gt;Success&lt;\/el-button&gt;\n    &lt;el-button type=\"info\"&gt;Info&lt;\/el-button&gt;\n    &lt;el-button type=\"warning\"&gt;Warning&lt;\/el-button&gt;\n    &lt;el-button type=\"danger\"&gt;Danger&lt;\/el-button&gt;\n\n    &lt;div&gt;\n      &lt;el-icon size=\"25\" color=\"green\"&gt;&lt;Connection \/&gt;&lt;\/el-icon&gt;\n\n      &lt;el-input placeholder=\"Placeholder\" :suffix-icon=\"Calendar\" :prefix-icon=\"Search\"&gt;&lt;\/el-input&gt;\n\n      &lt;el-button type=\"primary\" :icon=\"Search\"&gt;\u6309\u94ae&lt;\/el-button&gt;\n    &lt;\/div&gt;\n  &lt;\/div&gt;\n&lt;\/template&gt;\n\n&lt;script setup&gt;\nimport { Calendar, Search, Connection } from \"@element-plus\/icons-vue\";\n&lt;\/script&gt;\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u5168\u5c40\u4f7f\u7528icon<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b89\u88c5\u4f9d\u8d56\uff0c\u6ce8\u518c\u6240\u6709\u56fe\u6807<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npm install @element-plus\/icons-vue<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728main.js\u91cc\u5f15\u5165<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import * as ElementPlusIconsVue from '@element-plus\/icons-vue'\n\nfor (const &#91;key, component] of Object.entries(ElementPlusIconsVue)) {\n    app.component(key, component)\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">el-input\uff1a\u5f53\u4f60\u5728\u8f93\u5165\u6846\u7ec4\u4ef6\u91cc\u4f7f\u7528\u56fe\u6807\uff0c<strong>\u9700\u8981\u5355\u72ec\u5bfc\u5165\u56fe\u6807<\/strong><br>el-icon\u3001el-button\uff1a\u6309\u94ae\u6216\u56fe\u8868\u7ec4\u4ef6\u91cc\uff0c<strong>\u4e0d\u9700\u8981\u5355\u72ec\u5bfc\u5165\u56fe\u6807<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;el-input placeholder=\"Placeholder\" :suffix-icon=\"Calendar\" :prefix-icon=\"Search\"&gt;&lt;\/el-input&gt;\n\nimport {Calendar, Search} from \"@element-plus\/icons-vue\";<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Element-Plus\u4e3b\u9898\u8272\u8bbe\u7f6e<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b89\u88c5\u4f9d\u8d56sass\u3001unplugin-vue\u3001components\u3001unplugin-auto-import<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npm install -D sass unplugin-vue components unplugin-auto-import<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u914d\u7f6eindex.scss<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@forward \"element-plus\/theme-chalk\/src\/common\/var.scss\" with (\n  $colors: (\n    \"primary\": (\"base\": #2c82ff),\n    \"success\": (\"base\": #31bf00),\n    \"warning\": (\"base\": #ffad00),\n    \"danger\": (\"base\": #e52f2f),\n    \"info\": (\"base\": #8055ff),\n  )\n);<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u914d\u7f6evite.config.js<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import AutoImport from 'unplugin-auto-import\/vite'\nimport Components from 'unplugin-vue-components\/vite'\nimport { ElementPlusResolver } from 'unplugin-vue-components\/resolvers'\n\n\n  plugins: &#91;\n    vue(),\n    vueDevTools(),\n    \/\/element-plus\u6309\u9700\u5bfc\u5165\n      AutoImport({\n          resolvers: &#91;ElementPlusResolver()],\n      }),\n      Components({\n          resolvers: &#91;\n          \/\/\u914d\u7f6eelementPlus\u91c7\u7528sass\u6837\u5f0f\u914d\u7f6e\u7cfb\u7edf\n          ElementPlusResolver({importStyle: 'sass'})\n          ],\n      }),\n  ],\n  css: {\n    preprocessorOptions: {\n      scss: {\n        additionalData: `@use \"@\/assets\/css\/index.scss\" as *;`,\n      },\n    },\n  },<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u5b89\u88c5element\u63d2\u4ef6<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/zero-zl.cn\/wp-content\/uploads\/2025\/09\/image-22.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"830\" height=\"405\" data-original=\"https:\/\/zero-zl.cn\/wp-content\/uploads\/2025\/09\/image-22.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-1737\" style=\"width:539px;height:auto\"  sizes=\"auto, (max-width: 830px) 100vw, 830px\" \/><\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u642d\u5efa\u540e\u53f0\u57fa\u672c\u6846\u67b6<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u6846\u67b6\u5e03\u5c40\u5206\u6790<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/zero-zl.cn\/wp-content\/uploads\/2025\/09\/image-23-1024x467.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"467\" data-original=\"https:\/\/zero-zl.cn\/wp-content\/uploads\/2025\/09\/image-23-1024x467.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-1738\" style=\"width:727px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u914d\u7f6e\u5934\u90e8\u533a\u57df<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/zero-zl.cn\/wp-content\/uploads\/2025\/08\/shouye003.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"512\" height=\"512\" data-original=\"https:\/\/zero-zl.cn\/wp-content\/uploads\/2025\/08\/shouye003.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-298\" style=\"width:108px;height:auto\"  sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">views\/Manager.vue<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    &lt;!--\u5934\u90e8\u533a\u57df\u5f00\u59cb--&gt;\n    &lt;div style=\"height: 60px; display: flex;\"&gt;\n      &lt;div style=\"width: 240px; display: flex; align-items: center; padding-left: 20px; background-color: #3a456b\"&gt;\n        &lt;img style=\"width: 40px; height: 40px; border-radius: 50%;\" src=\"@\/assets\/imgs\/logo.png\" alt=\"\"&gt;\n        &lt;span style=\"font-size: 20px; font-weight: bold; color: #f1f1f1; margin-left: 5px;\"&gt;\u540e\u53f0\u7ba1\u7406\u7cfb\u7edf&lt;\/span&gt;\n      &lt;\/div&gt;\n      &lt;div style=\"flex: 1; display: flex; align-items: center;padding-left: 20px; border-bottom: 1px solid #ddd\"&gt;\n        \u9996\u9875 \/ \u6570\u636e\u5206\u6790\n      &lt;\/div&gt;\n      &lt;div style=\"width: fit-content; padding-right: 20px; display: flex; align-items: center; border-bottom: 1px solid #ddd\"&gt;\n        &lt;el-dropdown&gt;\n          &lt;div style=\" display: flex; align-items: center;\"&gt;\n            &lt;img style=\"width: 40px; height: 40px ;border-radius: 50%\" src=\"https:\/\/cube.elemecdn.com\/3\/7c\/3ea6beec64369c2642b92c6726f1epng.png\" alt=\"\"&gt;\n            &lt;span style=\"margin-left: 5px\"&gt;\u7ba1\u7406\u5458&lt;\/span&gt;\n          &lt;\/div&gt;\n          &lt;template #dropdown&gt;\n            &lt;el-dropdown-menu&gt;\n              &lt;el-dropdown-item&gt;\u4e2a\u4eba\u4e2d\u5fc3&lt;\/el-dropdown-item&gt;\n              &lt;el-dropdown-item&gt;\u4fee\u6539\u5bc6\u7801&lt;\/el-dropdown-item&gt;\n              &lt;el-dropdown-item&gt;\u9000\u51fa\u767b\u5f55&lt;\/el-dropdown-item&gt;\n            &lt;\/el-dropdown-menu&gt;\n          &lt;\/template&gt;\n        &lt;\/el-dropdown&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n    &lt;!--\u5934\u90e8\u533a\u57df\u7ed3\u675f--&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u914d\u7f6e\u5bfc\u822a\u680f\u83dc\u5355<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">views\/Manager.vue<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    &lt;!--\u5185\u5bb9\u533a\u57df\u5f00\u59cb--&gt;\n    &lt;div style=\"display: flex ;\"&gt;\n      &lt;!--\u83dc\u5355\u533a\u57df\u5f00\u59cb--&gt;\n      &lt;div style=\"width: 240px;\"&gt;\n        &lt;el-menu router :default-openeds=\"&#91;'1']\" :default-active=\"router.currentRoute.value.path\" style=\" min-height: calc(100vh - 60px)\"&gt;\n          &lt;el-menu-item index=\"\/manager\/home\"&gt;\n            &lt;el-icon&gt;&lt;House \/&gt;&lt;\/el-icon&gt;\n            &lt;span&gt;\u9996\u9875&lt;\/span&gt;\n          &lt;\/el-menu-item&gt;\n          &lt;el-sub-menu index=\"1\"&gt;\n            &lt;template #title&gt;\n              &lt;el-icon&gt;&lt;Location \/&gt;&lt;\/el-icon&gt;\n              &lt;span&gt;\u6570\u636e\u7ba1\u7406&lt;\/span&gt;\n            &lt;\/template&gt;\n            &lt;el-menu-item index=\"\/manager\/about\"&gt;\u5173\u4e8e\u6570\u636e&lt;\/el-menu-item&gt;\n          &lt;\/el-sub-menu&gt;\n        &lt;\/el-menu&gt;\n      &lt;\/div&gt;\n      &lt;!--\u83dc\u5355\u533a\u57df\u7ed3\u675f--&gt;\n\n      &lt;!--\u6570\u636e\u6e32\u67d3\u533a\u57df\u5f00\u59cb--&gt;\n\n      &lt;!--\u6570\u636e\u6e32\u67d3\u533a\u57df\u7ed3\u675f--&gt;\n    &lt;\/div&gt;\n    &lt;!--\u5185\u5bb9\u533a\u57df\u7ed3\u675f--&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e3b\u4f53\u533a\u57df<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>      &lt;!--\u6570\u636e\u6e32\u67d3\u533a\u57df\u5f00\u59cb--&gt;\n      &lt;div style=\"flex: 1; width: 0; padding: 10px; background-color: #f2f4ff\"&gt;\n        &lt;router-view \/&gt;\n      &lt;\/div&gt;\n      &lt;!--\u6570\u636e\u6e32\u67d3\u533a\u57df\u7ed3\u675f--&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u5168\u90e8\u4ee3\u7801<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">views\/Manager.vue<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;div&gt;\n    &lt;!--\u5934\u90e8\u533a\u57df\u5f00\u59cb--&gt;\n    &lt;div style=\"height: 60px; display: flex;\"&gt;\n      &lt;div style=\"width: 240px; display: flex; align-items: center; padding-left: 20px; background-color: #3a456b\"&gt;\n        &lt;img style=\"width: 40px; height: 40px; border-radius: 50%;\" src=\"@\/assets\/imgs\/logo.png\" alt=\"\"&gt;\n        &lt;span style=\"font-size: 20px; font-weight: bold; color: #f1f1f1; margin-left: 5px;\"&gt;\u540e\u53f0\u7ba1\u7406\u7cfb\u7edf&lt;\/span&gt;\n      &lt;\/div&gt;\n      &lt;div style=\"flex: 1; display: flex; align-items: center;padding-left: 20px; border-bottom: 1px solid #ddd\"&gt;\n        \u9996\u9875 \/ \u6570\u636e\u5206\u6790\n      &lt;\/div&gt;\n      &lt;div style=\"width: fit-content; padding-right: 20px; display: flex; align-items: center; border-bottom: 1px solid #ddd\"&gt;\n        &lt;el-dropdown&gt;\n          &lt;div style=\" display: flex; align-items: center;\"&gt;\n            &lt;img style=\"width: 40px; height: 40px ;border-radius: 50%\" src=\"https:\/\/cube.elemecdn.com\/3\/7c\/3ea6beec64369c2642b92c6726f1epng.png\" alt=\"\"&gt;\n            &lt;span style=\"margin-left: 5px\"&gt;\u7ba1\u7406\u5458&lt;\/span&gt;\n          &lt;\/div&gt;\n          &lt;template #dropdown&gt;\n            &lt;el-dropdown-menu&gt;\n              &lt;el-dropdown-item&gt;\u4e2a\u4eba\u4e2d\u5fc3&lt;\/el-dropdown-item&gt;\n              &lt;el-dropdown-item&gt;\u4fee\u6539\u5bc6\u7801&lt;\/el-dropdown-item&gt;\n              &lt;el-dropdown-item&gt;\u9000\u51fa\u767b\u5f55&lt;\/el-dropdown-item&gt;\n            &lt;\/el-dropdown-menu&gt;\n          &lt;\/template&gt;\n        &lt;\/el-dropdown&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n    &lt;!--\u5934\u90e8\u533a\u57df\u7ed3\u675f--&gt;\n\n    &lt;!--\u5185\u5bb9\u533a\u57df\u5f00\u59cb--&gt;\n    &lt;div style=\"display: flex ;\"&gt;\n      &lt;!--\u83dc\u5355\u533a\u57df\u5f00\u59cb--&gt;\n      &lt;div style=\"width: 240px;\"&gt;\n        &lt;el-menu router :default-openeds=\"&#91;'1']\" :default-active=\"router.currentRoute.value.path\" style=\" min-height: calc(100vh - 60px)\"&gt;\n          &lt;el-menu-item index=\"\/manager\/home\"&gt;\n            &lt;el-icon&gt;&lt;House \/&gt;&lt;\/el-icon&gt;\n            &lt;span&gt;\u9996\u9875&lt;\/span&gt;\n          &lt;\/el-menu-item&gt;\n          &lt;el-sub-menu index=\"1\"&gt;\n            &lt;template #title&gt;\n              &lt;el-icon&gt;&lt;Location \/&gt;&lt;\/el-icon&gt;\n              &lt;span&gt;\u6570\u636e\u7ba1\u7406&lt;\/span&gt;\n            &lt;\/template&gt;\n            &lt;el-menu-item index=\"\/manager\/about\"&gt;\u5173\u4e8e\u6570\u636e&lt;\/el-menu-item&gt;\n          &lt;\/el-sub-menu&gt;\n        &lt;\/el-menu&gt;\n      &lt;\/div&gt;\n      &lt;!--\u83dc\u5355\u533a\u57df\u7ed3\u675f--&gt;\n\n      &lt;!--\u6570\u636e\u6e32\u67d3\u533a\u57df\u5f00\u59cb--&gt;\n      &lt;div style=\"flex: 1; width: 0; padding: 10px; background-color: #f2f4ff\"&gt;\n        &lt;router-view \/&gt;\n      &lt;\/div&gt;\n      &lt;!--\u6570\u636e\u6e32\u67d3\u533a\u57df\u7ed3\u675f--&gt;\n    &lt;\/div&gt;\n    &lt;!--\u5185\u5bb9\u533a\u57df\u7ed3\u675f--&gt;\n  &lt;\/div&gt;\n&lt;\/template&gt;\n\n&lt;script setup&gt;\n\nimport router from \"@\/router\/index.js\";\n&lt;\/script&gt;\n\n\n&lt;style&gt;\n.el-menu {\n  background-color: #3a456b;\n  border: none;\n}\n.el-sub-menu__title{\n  color: #ddd;\n  background-color: #3a456b;\n}\n.el-menu-item{\n  height: 50px;\n  color: #ddd;\n}\n.el-menu .is-active{\n  background-color: #537bee;\n  color: #fff;\n}\n.el-sub-menu__title:hover{\n  background-color: #3a456b;\n}\n.el-menu-item:not(.is-active):hover{\n  background-color: #7a9fff;\n  color: #333;\n}\n.el-dropdown{\n  cursor:  pointer;\n}\n.el-tooltip__trigger{\n  outline: none;\n}\n.el-menu--inline .el-menu-item{\n  padding-left: 50px !important\n}\n&lt;\/style&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">views\/Home.vue<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;div&gt;\n    &lt;div class=\"card\" style=\"margin-bottom: 5px\"&gt;\n      &lt;el-input style=\"width: 260px; margin-right: 5px;\" v-model=\"data.name\" placeholder=\"\u8bf7\u8f93\u5165\u540d\u79f0\u67e5\u8be2\" :prefix-icon=\"Search\"&gt;&lt;\/el-input&gt;\n      &lt;el-button type=\"primary\"&gt;\u67e5\u8be2&lt;\/el-button&gt;\n    &lt;\/div&gt;\n    &lt;div class=\"card\" style=\"margin-bottom: 5px\"&gt;\n      &lt;el-button type=\"danger\"&gt;\u6279\u91cf\u5220\u9664&lt;\/el-button&gt;\n      &lt;el-button type=\"primary\"&gt;\u65b0 \u589e&lt;\/el-button&gt;\n      &lt;el-button type=\"success\"&gt;\u6279\u91cf\u5bfc\u5165&lt;\/el-button&gt;\n      &lt;el-button type=\"info\"&gt;\u6279\u91cf\u5bfc\u51fa&lt;\/el-button&gt;\n    &lt;\/div&gt;\n    &lt;div class=\"card\" style=\"margin-bottom: 5px\"&gt;\n      &lt;el-table :data=\"data.tableData\" style=\"width: 100%\" :header-cell-style=\"{ color: '#333',backgroundColor: '#eaf4ff' }\"&gt;\n        &lt;el-table-column type=\"selection\" width=\"55\" \/&gt;\n        &lt;el-table-column prop=\"name\" label=\"\u540d\u79f0\" width=\"180\" \/&gt;\n        &lt;el-table-column prop=\"phone\" label=\"\u7535\u8bdd\" \/&gt;\n        &lt;el-table-column prop=\"address\" label=\"\u5730\u5740\" width=\"180\" \/&gt;\n      &lt;\/el-table&gt;\n    &lt;\/div&gt;\n    &lt;div class=\"card\" style=\"margin-bottom: 5px\"&gt;\n      &lt;el-pagination\n          v-model:current-page=\"data.pageNumber\"\n          :page-size=\"data.pageSize\"\n          layout=\"total, prev, pager, next\"\n          :total=\"data.total\"\n      \/&gt;\n    &lt;\/div&gt;\n  &lt;\/div&gt;\n&lt;\/template&gt;\n\n&lt;script setup&gt;\nimport { reactive } from \"vue\";\nimport {Search} from \"@element-plus\/icons-vue\";\n\nconst data = reactive({\n  name: null,\n  pageNumber: 1,\n  pageSize: 5,\n  total: 6,\n  tableData: &#91;\n      {name: \"\u6e29\u8fea\", phone: \"154826\", address: \"\u8499\u5fb7\u897f\u98ce\u5927\u6559\u5802\"},\n      {name: \"\u949f\u79bb\", phone: \"846136\", address: \"\u7483\u6708\"},\n      {name: \"\u96f7\u7535\u5f71\", phone: \"516238\", address: \"\u7a3b\u59bb\u5e55\u5e9c\"},\n      {name: \"\u7eb3\u897f\u8fbe\", phone: \"217863\", address: \"\u987b\u5f25\u51c0\u5584\u5bab\"},\n      {name: \"\u8299\u5b81\u5a1c\", phone: \"136874\", address: \"\u67ab\u4e39\u5927\u6b4c\u5267\u9662\"},\n      {name: \"\u4eca\u6c50\", phone: \"346335\", address: \"\u745d\u9647\u4eca\u5dde\u8fb9\u5ead\"}\n  ]\n});\n&lt;\/script&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">router\/index.js<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import { createRouter, createWebHistory } from 'vue-router'\n\nconst router = createRouter({\n  history: createWebHistory(import.meta.env.BASE_URL),\n  routes: &#91;\n    { path: '\/manager', component: import('..\/views\/Manager.vue'),\n      children: &#91;\n        { path: 'home', component: import('..\/views\/Home.vue')},\n        { path: 'about', component: import('..\/views\/About.vue'),},\n      ]\n    },\n    { path: '\/notFound', component: import('..\/views\/404.vue'),},\n    { path: '\/:pathMatch(.*)', redirect: '\/notFound'}\n  ],\n})\n\nexport default router\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">assets\/css\/global.css<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>*{\n    box-sizing: border-box;\n}\n\nbody{\n    margin: 0;\n    padding: 0;\n    color: #333;\n    font-size: 14px;\n}\n\na{\n    text-decoration: none;\n}\n\n.card{\n    background-color: white;\n    padding: 10px;\n    border-radius: 5px;\n    box-shadow: 0 0 8px rgba(0,0,0, .12);\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u6700\u7ec8\u6548\u679c<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/zero-zl.cn\/wp-content\/uploads\/2025\/09\/image-24-1024x510.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"510\" data-original=\"https:\/\/zero-zl.cn\/wp-content\/uploads\/2025\/09\/image-24-1024x510.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-1744\" style=\"width:568px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Element-Plus\u7b80\u4ecb Element-Plus\u662f\u4e00\u5957\u524d\u7aefUI\u6846\u67b6\uff0c\u53ef\u4ee5\u901a\u8fc7\u5b83\u5feb\u901f\u5b9e\u73b0\u7cbe\u7f8e\u7684\u9875\u9762\u6837\u5f0f\u5b98\u7f51 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[114,102],"tags":[],"class_list":["post-1713","post","type-post","status-publish","format-standard","hentry","category-spring-boot3vue3","category-102"],"_links":{"self":[{"href":"https:\/\/zero-zl.cn\/index.php\/wp-json\/wp\/v2\/posts\/1713","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zero-zl.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zero-zl.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zero-zl.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zero-zl.cn\/index.php\/wp-json\/wp\/v2\/comments?post=1713"}],"version-history":[{"count":15,"href":"https:\/\/zero-zl.cn\/index.php\/wp-json\/wp\/v2\/posts\/1713\/revisions"}],"predecessor-version":[{"id":1745,"href":"https:\/\/zero-zl.cn\/index.php\/wp-json\/wp\/v2\/posts\/1713\/revisions\/1745"}],"wp:attachment":[{"href":"https:\/\/zero-zl.cn\/index.php\/wp-json\/wp\/v2\/media?parent=1713"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero-zl.cn\/index.php\/wp-json\/wp\/v2\/categories?post=1713"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero-zl.cn\/index.php\/wp-json\/wp\/v2\/tags?post=1713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}