{"id":735,"date":"2024-12-10T20:28:54","date_gmt":"2024-12-10T12:28:54","guid":{"rendered":"https:\/\/eve2333.top\/?p=735"},"modified":"2024-12-10T20:28:54","modified_gmt":"2024-12-10T12:28:54","slug":"%e9%9d%9e%e5%b8%b8%e7%ae%80%e5%8d%95%e5%ae%9e%e7%94%a8%e7%9a%84%e5%89%8d%e5%90%8e%e7%ab%af%e5%88%86%e7%a6%bb%e9%a1%b9%e7%9b%ae-%e4%bb%93%e5%ba%93%e7%ae%a1%e7%90%86%e7%b3%bb%e7%bb%9f%ef%bc%88springbo-2","status":"publish","type":"post","link":"https:\/\/eve2333.top\/?p=735","title":{"rendered":"\u975e\u5e38\u7b80\u5355\u5b9e\u7528\u7684\u524d\u540e\u7aef\u5206\u79bb\u9879\u76ee-\u4ed3\u5e93\u7ba1\u7406\u7cfb\u7edf\uff08Springboot+Vue\uff09part 2"},"content":{"rendered":"\n<p>\u200b<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">&nbsp;\u4e03\u3001\u521b\u5efa\u524d\u7aef\u9879\u76ee<\/h1>\n\n\n\n<p>\u00a0 \u4f60\u4e0b\u8f7d\u4e86nodejs\u5417\uff1f\u4ececn\u5b98\u7f51\u4e0b\u8f7d\uff1ahttp:\/\/nodejs.cn\/download\/\uff0c\u6216\u8005\u4ece\u4e00\u4e2a\u56fd\u5916org\u7f51\u7ad9\u4e0b\u8f7d\uff0c\u9009\u62e9\u81ea\u5df1\u60f3\u8981\u7684\u7248\u672chttps:\/\/nodejs.org\/download\/release\/\uff0c\u53cc\u51fb\u4e0b\u8f7d\u597d\u7684\u5b89\u88c5\u6587\u4ef6\uff0c\u9009\u62e9\u5b89\u88c5\u8def\u5f84\u5b89\u88c5\u597d\u5373\u53ef\u3002\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u8f93\u5165\u547d\u4ee4\u67e5\u770b\u7248\u672c\uff0cmac\u9996\u6b21\u5b89\u88c5\u90fd\u65e0\u9700\u914d\u7f6e\u73af\u5883\u53d8\u91cf\u3002<br><img decoding=\"async\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/f617251937d241029ab55044c269e68e.png\" alt=\"\"><img loading=\"lazy\" decoding=\"async\" height=\"15\" width=\"15\" src=\"blob:https:\/\/eve2333.top\/9ded42cd-0f04-4a87-be13-6f6fce3d385e\"><\/p>\n\n\n\n<p><img decoding=\"async\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/4d721edb59e0467ebcaa0454574cb964.png\" alt=\"\"><br>\u6839\u636e\u4ee5\u4e0a\u547d\u4ee4\u67e5\u770b\u914d\u7f6e\u4fe1\u606f\uff0c<strong>\u5148\u5728\u8bbe\u7f6e\u8def\u5f84\u76ee\u5f55\u4e0b\u65b0\u5efa\u4e24\u4e2a\u6587\u4ef6\u5939(eg\uff1anode_global\u548cnode_cache)\uff0c\u8bbe\u7f6e\u65b0\u7684\u6587\u4ef6\u5939<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>PS D: \\nodejs&gt; npm config set prefix \"D: \\nodejs\\node_global\" \nPS D: \\nodejs&gt; npm config set cache \"D: \\nodejs\\node_cache\" \nPS D: \\nodejs&gt; npm get registry \nhttps: \/\/registry.npmjs.org\/\nPS D: \\nodejs&gt; npm config set registry https:\/\/mirrors.cloud.tencent.com\/npm\/ \n<\/code><\/pre>\n\n\n\n<p>&nbsp;\u7ba1\u7406\u5458\u6a21\u5f0f\u4e0b\u8f7dvue\u811a\u624b\u67b6\uff0c\u7406\u8bba\u4e0a\u4f60\u5e94\u8be5\u4e0b\u8f7d\u8fc7\u4e86<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npm install -g @vue\/cli\n<\/code><\/pre>\n\n\n\n<p>\u5728cmd\u4e2d\u521b\u5efavue\u9879\u76ee&nbsp;&nbsp;<strong>vue create vuedemo1 \uff0cpowershell\u4e2d\u53c2\u89c1\u4e0b\u65b9\u7f51\u9875<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.csdn.net\/Dreaming_\/article\/details\/104929207\" target=\"_blank\"  rel=\"nofollow\" >\u201cvue : \u65e0\u6cd5\u52a0\u8f7d\u6587\u4ef6 D:\\nodejs\\node_global\\vue.ps1\uff0c\u56e0\u4e3a\u5728\u6b64\u7cfb\u7edf\u4e0a\u7981\u6b62\u8fd0\u884c\u811a\u672c\u201d\u7684\u89e3\u51b3\u65b9\u6cd5-CSDN\u535a\u5ba2<\/a><\/p>\n\n\n\n<p>&nbsp;\u7528\u4e0a\u4e0b\u65b9\u5411\u952e\u79fb\u52a8\uff0c\u7136\u540e\u56de\u8f66\uff0c\u6211\u9009\u62e9<strong>Vue2<\/strong>\uff0c\u7b49\u5f85\u521b\u5efa\u5b8c\u6210<\/p>\n\n\n\n<p>\u6267\u884c\u542f\u52a8\u9879\u76ee\u547d\u4ee4\uff08\u6ce8\u610f\u8981\u5148\u8fdb\u5165\u9879\u76ee\u76ee\u5f55\uff09<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>cd vuedemo1<br>npm run serve<\/p>\n<\/blockquote>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"964\" height=\"697\" src=\"https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833530-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202525.png\" alt=\"\" class=\"wp-image-736\" style=\"width:479px;height:auto\" srcset=\"https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833530-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202525.png 964w, https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833530-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202525-300x217.png 300w, https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833530-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202525-768x555.png 768w\" sizes=\"auto, (max-width: 964px) 100vw, 964px\" \/><\/figure>\n\n\n\n<p>&nbsp;\u73b0\u5728cd\u5728desktop\uff0cvue create wms-web\uff0c\u9009\u62e9vue2\uff0cTake&nbsp;A While......<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" height=\"331\" width=\"318\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/02797c6d30a44aaebbc41884edc03053.png\" alt=\"\">\u200b<\/p>\n\n\n\n<p>&nbsp;cd\u8fdb\u5165\uff0cnpm run serve\u6210\u529f\u542f\u52a8vue\u811a\u624b\u67b6\uff0clocalhost:8080<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u516b\u3001\u524d\u7aef\u9879\u76ee\u5bfc\u5230idea\u4e2d\u8fd0\u884c<\/h1>\n\n\n\n<p>\u628awms-web\u590d\u5236\u5230springboot_vue_wms\u4e2d,\u5728idea\u6253\u5f00\u9879\u76ee,\u4f60\u8981\u662f\u8db3\u591fnb\u7528webstrom\u53bb\u5427<br>\u4e3a\u4e86\u8282\u7ea6\u65f6\u95f4,\u4e0d\u7528cmd\u4e00\u6761\u6162\u6162\u8f93\u5165\u547d\u4ee4,\u53ef\u4ee5\u9009\u62e9\u5c0f\u7eff\u4e09\u89d2\u7684''\u7f16\u8bd1\u914d\u7f6e''<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" height=\"527\" width=\"594\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/da81093a825a43328c0049115a4bbad8.png\" alt=\"\"><img loading=\"lazy\" decoding=\"async\" height=\"15\" width=\"15\" src=\"blob:https:\/\/eve2333.top\/05ede707-06a8-4c6d-a421-c08ce29b1ca1\"><\/p>\n\n\n\n<p>\u505c\u6b62\u670d\u52a1\u76f4\u63a5<strong>CTRL + C<\/strong> \u5373\u53ef<img loading=\"lazy\" decoding=\"async\" height=\"15\" width=\"15\" src=\"blob:https:\/\/eve2333.top\/c73d8763-5e06-447a-bfa9-c8911d11fe56\"><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1023\" height=\"565\" src=\"https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833551-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202545.png\" alt=\"\" class=\"wp-image-737\" srcset=\"https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833551-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202545.png 1023w, https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833551-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202545-300x166.png 300w, https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833551-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202545-768x424.png 768w\" sizes=\"auto, (max-width: 1023px) 100vw, 1023px\" \/><\/figure>\n\n\n\n<p>&nbsp;\u8bb0\u5f97\u628a\u524d\u7aef\u7684git\u5220\u9664<\/p>\n\n\n\n<p>tmd\uff0c\u540e\u9762vue\u670d\u52a1\u5668\u9891\u9891\u62a5\u9519\uff0c\u627e\u4e86\u6211\u4e00\u4e2a\u534a\u5c0f\u65f6\uff0c\u95ee\u9898\u89e3\u51b3\u4e86\uff0c\u6211\u7684idea\u4e0d\u77e5\u9053\u4e3a\u4ec0\u4e48\u5bf9node_modules\u6587\u4ef6\u8fdb\u884c\u4e86\u6392\u9664\uff08\u53d8\u6210\u9ec4\u8272\u7684\uff09\uff0c\u53f3\u952e\u8be5\u6587\u4ef6\u540e\u5c06\u76ee\u5f55\u6807\u8bb0\u4e3a\u4e0d\u6392\u9664\u5c31\u80fd\u89e3\u51b3element\u63d0\u793a\u7684\u95ee\u9898\uff0c\u8bb0\u5f97\u66f4\u65b0\u5bf9\u5e94\u7684\u672c\u5730\u7684vue\u670d\u52a1\u5668<img loading=\"lazy\" decoding=\"async\" height=\"15\" width=\"15\" src=\"blob:https:\/\/eve2333.top\/3845dc7b-6f01-4d52-9c93-8cc924e86f77\"><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1022\" height=\"447\" src=\"https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833565-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202600.png\" alt=\"\" class=\"wp-image-738\" srcset=\"https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833565-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202600.png 1022w, https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833565-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202600-300x131.png 300w, https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833565-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202600-768x336.png 768w\" sizes=\"auto, (max-width: 1022px) 100vw, 1022px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">\u4e5d\u3001\u5bfc\u5165Element-ui<\/h1>\n\n\n\n<p><a href=\"https:\/\/element.eleme.cn\/#\/zh-CN\" target=\"_blank\"  rel=\"nofollow\" >Element - \u7f51\u7ad9\u5feb\u901f\u6210\u578b\u5de5\u5177<\/a>&nbsp;\u997f\u4e86\u4e48 nb<\/p>\n\n\n\n<p>\u6ce8\u610f\u4e86\uff0c\u8fd9\u4e2a\u5b89\u88c5\u65b9\u5f0f\u548c\u5f15\u7528\u65b9\u5f0f\u53ea\u9002\u7528\u4e8evue2\uff0cvue3\u7528\u8fd9\u4e2a\u4f1a\u62a5\u9519\uff0c\u5c31\u7b97\u5f3a\u884c\u5b89\u88c5\u4e0a\uff0c\u6700\u540e\u8fd0\u884c\u7684\u65f6\u5019\u9875\u9762\u53ea\u4f1a\u662f\u7a7a\u767d\u7684\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npm i element-ui -S\n\u62a5\u9519\u53ef\u80fd\u662f\u7248\u672c\u4e0d\u5339\u914d\uff0c \u8bd5\u8bd5npm install element-plus --save\nnpm install --legacy-peer-deps element-ui --save\u4e5f\u884c<\/code><\/pre>\n\n\n\n<p>\u6253\u5f00\u5bf9\u5e94\u7684\u6587\u4ef6\u7ba1\u7406\u5668\uff0c\u53d1\u73b0\u5b89\u88c5\u6210\u529f<img decoding=\"async\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/1a1269aae1b142a9b392dc850c8ecc8c.png\" alt=\"\"><\/p>\n\n\n\n<p>&nbsp;\u597d\u4e86\uff0c\u73b0\u5728\u662fVUE\u65f6\u95f4\uff01<\/p>\n\n\n\n<p>\u8bb0\u5f97\u628amain.js\u5fc5\u8981\u7684\u4fee\u6539<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import Vue from 'vue'\nimport App from '.\/App.vue'\nimport ElementUI from 'element-ui';\nimport 'element-ui\/lib\/theme-chalk\/index.css';\n\nVue.config.productionTip = false\nVue.use(ElementUI)\nnew Vue({\n    render: h =&gt; h(App),\n}).$mount('#app')\n<\/code><\/pre>\n\n\n\n<p>App.vue\u5982\u4e0b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template>\n  &lt;div id=\"app\">\n    &lt;el-button type=\"primary\">BUTTON&lt;\/el-button>\n  &lt;\/div>\n&lt;\/template>\n\n&lt;script>\n\n\nexport default {\n  name: 'App',\n  components: {\n\n  }\n}\n&lt;\/script>\n\n&lt;style>\n\n&lt;\/style><\/code><\/pre>\n\n\n\n<p>\u00a0<img loading=\"lazy\" decoding=\"async\" height=\"48\" width=\"112\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/b572b5a4e7f04108ade5a330d0520ffc.png\" alt=\"\"><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u5341\u3001\u642d\u5efa\u9875\u9762\u5e03\u5c40<\/h1>\n\n\n\n<p>&nbsp;\u96be\u9053\u4e0d\u7528router\u5417<\/p>\n\n\n\n<p>\u65b0\u5efaIndexPage.vue\u6587\u4ef6\uff0c(\u540e\u9762\u4f60\u4f1a\u547d\u540d\u4e3aindex\uff0c\u8fd9\u91ccindex\u62a5\u9519\u662f\u56e0\u4e3a\u89c4\u8303\u662f\u7ec4\u4ef6\u540d\u5e94\u8be5\u662f\u591a\u4e2a\u5355\u8bcd\u7ec4\u6210\u7684\uff0c\u800c\u4e0d\u662f\u5355\u4e2a\u5355\u8bcd\u3002\u53ef\u4ee5\u8003\u8651IndexPage\u6216\u8005\u5176\u4ed6\u7684\u591a\u8bcd\u547d\u540d.&nbsp; \u5b9e\u5728\u8bf4\u592a\u591a\u4e0d\u597d\u5f04\u7684 , \u5bfc\u5165\u4e4b\u540e\u62a5\u9519\u7684\u5728<strong>vue.config\u4e2d\u914d\u7f6elintOnSave: false<\/strong>&nbsp;\/\/@8 \u7248\u672c\u4e2d\u65b0\u589e\u4e86\u8981\u6c42\u7ec4\u4ef6\u540d\u79f0\u4ee5\u9a7c\u5cf0\u683c\u5f0f\u547d\u540d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;el-container style=\"height: 500px; border: 1px solid #eee\"&gt;\n    &lt;el-aside width=\"200px\" style=\"background-color: rgb(238, 241, 246)\"&gt;\n      &lt;el-menu :default-openeds=\"&#91;'1', '3']\"&gt;\n        &lt;el-submenu index=\"1\"&gt;\n          &lt;template slot=\"title\"&gt;&lt;i class=\"el-icon-message\"&gt;&lt;\/i&gt;\u5bfc\u822a\u4e00&lt;\/template&gt;\n          &lt;el-menu-item-group&gt;\n            &lt;template slot=\"title\"&gt;\u5206\u7ec4\u4e00&lt;\/template&gt;\n            &lt;el-menu-item index=\"1-1\"&gt;\u9009\u98791&lt;\/el-menu-item&gt;\n            &lt;el-menu-item index=\"1-2\"&gt;\u9009\u98792&lt;\/el-menu-item&gt;\n          &lt;\/el-menu-item-group&gt;\n          &lt;el-menu-item-group title=\"\u5206\u7ec42\"&gt;\n            &lt;el-menu-item index=\"1-3\"&gt;\u9009\u98793&lt;\/el-menu-item&gt;\n          &lt;\/el-menu-item-group&gt;\n          &lt;el-submenu index=\"1-4\"&gt;\n            &lt;template slot=\"title\"&gt;\u9009\u98794&lt;\/template&gt;\n            &lt;el-menu-item index=\"1-4-1\"&gt;\u9009\u98794-1&lt;\/el-menu-item&gt;\n          &lt;\/el-submenu&gt;\n        &lt;\/el-submenu&gt;\n        &lt;el-submenu index=\"2\"&gt;\n          &lt;template slot=\"title\"&gt;&lt;i class=\"el-icon-menu\"&gt;&lt;\/i&gt;\u5bfc\u822a\u4e8c&lt;\/template&gt;\n          &lt;el-menu-item-group&gt;\n            &lt;template slot=\"title\"&gt;\u5206\u7ec4\u4e00&lt;\/template&gt;\n            &lt;el-menu-item index=\"2-1\"&gt;\u9009\u98791&lt;\/el-menu-item&gt;\n            &lt;el-menu-item index=\"2-2\"&gt;\u9009\u98792&lt;\/el-menu-item&gt;\n          &lt;\/el-menu-item-group&gt;\n          &lt;el-menu-item-group title=\"\u5206\u7ec42\"&gt;\n            &lt;el-menu-item index=\"2-3\"&gt;\u9009\u98793&lt;\/el-menu-item&gt;\n          &lt;\/el-menu-item-group&gt;\n          &lt;el-submenu index=\"2-4\"&gt;\n            &lt;template slot=\"title\"&gt;\u9009\u98794&lt;\/template&gt;\n            &lt;el-menu-item index=\"2-4-1\"&gt;\u9009\u98794-1&lt;\/el-menu-item&gt;\n          &lt;\/el-submenu&gt;\n        &lt;\/el-submenu&gt;\n        &lt;el-submenu index=\"3\"&gt;\n          &lt;template slot=\"title\"&gt;&lt;i class=\"el-icon-setting\"&gt;&lt;\/i&gt;\u5bfc\u822a\u4e09&lt;\/template&gt;\n          &lt;el-menu-item-group&gt;\n            &lt;template slot=\"title\"&gt;\u5206\u7ec4\u4e00&lt;\/template&gt;\n            &lt;el-menu-item index=\"3-1\"&gt;\u9009\u98791&lt;\/el-menu-item&gt;\n            &lt;el-menu-item index=\"3-2\"&gt;\u9009\u98792&lt;\/el-menu-item&gt;\n          &lt;\/el-menu-item-group&gt;\n          &lt;el-menu-item-group title=\"\u5206\u7ec42\"&gt;\n            &lt;el-menu-item index=\"3-3\"&gt;\u9009\u98793&lt;\/el-menu-item&gt;\n          &lt;\/el-menu-item-group&gt;\n          &lt;el-submenu index=\"3-4\"&gt;\n            &lt;template slot=\"title\"&gt;\u9009\u98794&lt;\/template&gt;\n            &lt;el-menu-item index=\"3-4-1\"&gt;\u9009\u98794-1&lt;\/el-menu-item&gt;\n          &lt;\/el-submenu&gt;\n        &lt;\/el-submenu&gt;\n      &lt;\/el-menu&gt;\n    &lt;\/el-aside&gt;\n\n    &lt;el-container&gt;\n      &lt;el-header style=\"text-align: right; font-size: 12px\"&gt;\n        &lt;el-dropdown&gt;\n          &lt;i class=\"el-icon-setting\" style=\"margin-right: 15px\"&gt;&lt;\/i&gt;\n          &lt;el-dropdown-menu slot=\"dropdown\"&gt;\n            &lt;el-dropdown-item&gt;\u67e5\u770b&lt;\/el-dropdown-item&gt;\n            &lt;el-dropdown-item&gt;\u65b0\u589e&lt;\/el-dropdown-item&gt;\n            &lt;el-dropdown-item&gt;\u5220\u9664&lt;\/el-dropdown-item&gt;\n          &lt;\/el-dropdown-menu&gt;\n        &lt;\/el-dropdown&gt;\n        &lt;span&gt;\u738b\u5c0f\u864e&lt;\/span&gt;\n      &lt;\/el-header&gt;\n\n      &lt;el-main&gt;\n        &lt;el-table :data=\"tableData\"&gt;\n          &lt;el-table-column prop=\"date\" label=\"\u65e5\u671f\" width=\"140\"&gt;\n          &lt;\/el-table-column&gt;\n          &lt;el-table-column prop=\"name\" label=\"\u59d3\u540d\" width=\"120\"&gt;\n          &lt;\/el-table-column&gt;\n          &lt;el-table-column prop=\"address\" label=\"\u5730\u5740\"&gt;\n          &lt;\/el-table-column&gt;\n        &lt;\/el-table&gt;\n      &lt;\/el-main&gt;\n    &lt;\/el-container&gt;\n  &lt;\/el-container&gt;\n\n&lt;\/template&gt;\n\n&lt;style scoped&gt;\n.el-header {\n  background-color: #B3C0D1;\n  color: #333;\n  line-height: 60px;\n}\n\n.el-aside {\n  color: #333;\n}\n&lt;\/style&gt;\n\n&lt;script&gt;\nexport default {\n  name:\"IndexPage\",\n  data() {\n    const item = {\n      date: '2016-05-02',\n      name: '\u738b\u5c0f\u864e',\n      address: '\u4e0a\u6d77\u5e02\u666e\u9640\u533a\u91d1\u6c99\u6c5f\u8def 1518 \u5f04'\n    };\n    return {\n      tableData: Array(20).fill(item)\n    }\n  }\n};\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p>App.vue\u76f8\u5e94\u7684\u6dfb\u52a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;div id=\"app\"&gt;\n    &lt;IndexPage&gt;&lt;\/IndexPage&gt;\n  &lt;\/div&gt;\n&lt;\/template&gt;\n\n&lt;script&gt;\n\n\nimport IndexPage from \"@\/components\/IndexPage.vue\";\n\nexport default {\n  name: 'App',\n  components: {\n    IndexPage\n  }\n}\n&lt;\/script&gt;\n\n&lt;style&gt;\n\/*\n  font-family: Avenir, Helvetica, Arial, sans-serif;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  text-align: center;\n  color: #2c3e50;\n  margin-top: 60px;\n  *\/\n&lt;\/style&gt;\n<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u00a0\u767d\u5c4f\u662f\u56e0\u4e3a\u5916\u5c42\u9700\u8981template<\/li>\n\n\n\n<li><\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"981\" height=\"596\" src=\"https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833602-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202636.png\" alt=\"\" class=\"wp-image-739\" style=\"width:671px;height:auto\" srcset=\"https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833602-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202636.png 981w, https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833602-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202636-300x182.png 300w, https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833602-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202636-768x467.png 768w\" sizes=\"auto, (max-width: 981px) 100vw, 981px\" \/><\/figure>\n\n\n\n<p>\u6839\u636e\u4f60\u7684\u9700\u6c42\u5fae\u4fee\u4e00\u4e0b,\u6211\u5bf9\u90e8\u5206\u90e8\u4ef6\u8fdb\u884c\u4e86<strong>height:100%\u7684\u4ee3\u7801\u4fee\u6539<\/strong><\/p>\n\n\n\n<p>\u5728assets\u4e0b\u65b0\u5efa\u4e00\u4e2aglobal.css\u6587\u4ef6\uff0c\u5728main.js\u4e2d\u5bfc\u5165&nbsp; &nbsp;import '.\/assets\/global.css'<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>*{\n    margin:0;\n    padding: 0;\n}<\/code><\/pre>\n\n\n\n<p>\u5728IndexPage\u4e2dstyle\u6dfb\u52a0&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">.el-main{\n  padding:5px;\n}\n<\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">\u5341\u4e00\u3001\u9875\u9762\u5e03\u5c40\u7684\u62c6\u5206<\/h1>\n\n\n\n<p>&nbsp;\u539f\u9875\u9762\u592a\u957f\u4e86\uff0c\u5728components\u4e2d\u65b0\u5efa\u51e0\u4e2a\u754c\u9762AppAside.vue\uff0cAppHeader.vue\uff0cIndexPage.vue\uff0cAppMain.vue<\/p>\n\n\n\n<p>AppAside\u662f\u5c06menu\u90e8\u5206\u526a\u5207\u5230template\u4e2d\uff1b\u5c06dropdown\u4e2d\uff0c\u7ed9\u5230AppHeader\uff1btable\u590d\u5236\u5230Appmain\uff08 \u5176\u5b9e\u662f\u60f3\u6539\u6210MainComponent\u7684&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\u4e0b\u9762\u662fIndexPage.vue<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;el-container style=\"height: 100%; border: 1px solid #eee\"&gt;\n    &lt;el-aside width=\"200px\" style=\"background-color: rgb(238, 241, 246);height: 100%;\"&gt;\n      &lt;Aside&gt;&lt;\/Aside&gt;\n    &lt;\/el-aside&gt;\n\n    &lt;el-container style=\"height: 100%\"&gt;\n      &lt;el-header style=\"text-align: right; font-size: 12px\"&gt;\n        &lt;Header&gt;&lt;\/Header&gt;\n        &lt;span&gt;\u738b\u5c0f\u864e&lt;\/span&gt;\n      &lt;\/el-header&gt;\n\n      &lt;el-main style=\"height: 100%\"&gt;\n        &lt;Main&gt;&lt;\/Main&gt;\n      &lt;\/el-main&gt;\n    &lt;\/el-container&gt;\n  &lt;\/el-container&gt;\n\n&lt;\/template&gt;\n\n&lt;style scoped&gt;\n.el-header {\n  background-color: #B3C0D1;\n  color: #333;\n  line-height: 60px;\n}\n\n.el-main {\n  padding: 5px;\n}\n\n.el-aside {\n  color: #333;\n}\n&lt;\/style&gt;\n\n&lt;script&gt;\nimport Aside from \"@\/components\/Aside.vue\";\nimport Header from \"@\/components\/Header.vue\";\nimport Main from \"@\/components\/Main.vue\";\n\nexport default {\n  name: \"Index\",\n  components: {Main, Aside, Header},\n\n};\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;el-menu :default-openeds=\"&#91;'1', '3']\"&gt;\n    &lt;el-submenu index=\"1\"&gt;\n      &lt;template slot=\"title\"&gt;&lt;i class=\"el-icon-message\"&gt;&lt;\/i&gt;\u5bfc\u822a\u4e00&lt;\/template&gt;\n      &lt;el-menu-item-group&gt;\n        &lt;template slot=\"title\"&gt;\u5206\u7ec4\u4e00&lt;\/template&gt;\n        &lt;el-menu-item index=\"1-1\"&gt;\u9009\u98791&lt;\/el-menu-item&gt;\n        &lt;el-menu-item index=\"1-2\"&gt;\u9009\u98792&lt;\/el-menu-item&gt;\n      &lt;\/el-menu-item-group&gt;\n      &lt;el-menu-item-group title=\"\u5206\u7ec42\"&gt;\n        &lt;el-menu-item index=\"1-3\"&gt;\u9009\u98793&lt;\/el-menu-item&gt;\n      &lt;\/el-menu-item-group&gt;\n      &lt;el-submenu index=\"1-4\"&gt;\n        &lt;template slot=\"title\"&gt;\u9009\u98794&lt;\/template&gt;\n        &lt;el-menu-item index=\"1-4-1\"&gt;\u9009\u98794-1&lt;\/el-menu-item&gt;\n      &lt;\/el-submenu&gt;\n    &lt;\/el-submenu&gt;\n    &lt;el-submenu index=\"2\"&gt;\n      &lt;template slot=\"title\"&gt;&lt;i class=\"el-icon-menu\"&gt;&lt;\/i&gt;\u5bfc\u822a\u4e8c&lt;\/template&gt;\n      &lt;el-menu-item-group&gt;\n        &lt;template slot=\"title\"&gt;\u5206\u7ec4\u4e00&lt;\/template&gt;\n        &lt;el-menu-item index=\"2-1\"&gt;\u9009\u98791&lt;\/el-menu-item&gt;\n        &lt;el-menu-item index=\"2-2\"&gt;\u9009\u98792&lt;\/el-menu-item&gt;\n      &lt;\/el-menu-item-group&gt;\n      &lt;el-menu-item-group title=\"\u5206\u7ec42\"&gt;\n        &lt;el-menu-item index=\"2-3\"&gt;\u9009\u98793&lt;\/el-menu-item&gt;\n      &lt;\/el-menu-item-group&gt;\n      &lt;el-submenu index=\"2-4\"&gt;\n        &lt;template slot=\"title\"&gt;\u9009\u98794&lt;\/template&gt;\n        &lt;el-menu-item index=\"2-4-1\"&gt;\u9009\u98794-1&lt;\/el-menu-item&gt;\n      &lt;\/el-submenu&gt;\n    &lt;\/el-submenu&gt;\n    &lt;el-submenu index=\"3\"&gt;\n      &lt;template slot=\"title\"&gt;&lt;i class=\"el-icon-setting\"&gt;&lt;\/i&gt;\u5bfc\u822a\u4e09&lt;\/template&gt;\n      &lt;el-menu-item-group&gt;\n        &lt;template slot=\"title\"&gt;\u5206\u7ec4\u4e00&lt;\/template&gt;\n        &lt;el-menu-item index=\"3-1\"&gt;\u9009\u98791&lt;\/el-menu-item&gt;\n        &lt;el-menu-item index=\"3-2\"&gt;\u9009\u98792&lt;\/el-menu-item&gt;\n      &lt;\/el-menu-item-group&gt;\n      &lt;el-menu-item-group title=\"\u5206\u7ec42\"&gt;\n        &lt;el-menu-item index=\"3-3\"&gt;\u9009\u98793&lt;\/el-menu-item&gt;\n      &lt;\/el-menu-item-group&gt;\n      &lt;el-submenu index=\"3-4\"&gt;\n        &lt;template slot=\"title\"&gt;\u9009\u98794&lt;\/template&gt;\n        &lt;el-menu-item index=\"3-4-1\"&gt;\u9009\u98794-1&lt;\/el-menu-item&gt;\n      &lt;\/el-submenu&gt;\n    &lt;\/el-submenu&gt;\n  &lt;\/el-menu&gt;\n&lt;\/template&gt;\n\n&lt;style scoped&gt;\n\n&lt;\/style&gt;\n&lt;script&gt;\nexport default {\n  name:\"Aside\"\n}\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;div&gt;\n  &lt;el-dropdown&gt;\n    &lt;i class=\"el-icon-setting\" style=\"margin-right: 15px\"&gt;&lt;\/i&gt;\n    &lt;el-dropdown-menu slot=\"dropdown\"&gt;\n      &lt;el-dropdown-item&gt;\u67e5\u770b&lt;\/el-dropdown-item&gt;\n      &lt;el-dropdown-item&gt;\u65b0\u589e&lt;\/el-dropdown-item&gt;\n      &lt;el-dropdown-item&gt;\u5220\u9664&lt;\/el-dropdown-item&gt;\n    &lt;\/el-dropdown-menu&gt;\n  &lt;\/el-dropdown&gt;\n\n  &lt;\/div&gt;\n&lt;\/template&gt;\n\n&lt;style scoped&gt;\n\n&lt;\/style&gt;\n&lt;script&gt;\nexport default {\n  name:\"Header\"\n}\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" height=\"15\" src=\"blob:https:\/\/eve2333.top\/e4623199-c510-40ed-80a4-dcf0187a8ae1\" width=\"15\"><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template>\n  &lt;el-table :data=\"tableData\">\n    &lt;el-table-column prop=\"date\" label=\"\u65e5\u671f\" width=\"140\">\n    &lt;\/el-table-column>\n    &lt;el-table-column prop=\"name\" label=\"\u59d3\u540d\" width=\"120\">\n    &lt;\/el-table-column>\n    &lt;el-table-column prop=\"address\" label=\"\u5730\u5740\">\n    &lt;\/el-table-column>\n  &lt;\/el-table>\n&lt;\/template>\n\n&lt;style scoped>\n\n&lt;\/style>\n&lt;script>\nexport default{\n  name:\"Main\",\n  data() {\n    const item = {\n      date: '2016-05-02',\n      name: '\u738b\u5c0f\u864e',\n      address: '\u4e0a\u6d77\u5e02\u666e\u9640\u533a\u91d1\u6c99\u6c5f\u8def 1518 \u5f04'\n    };\n    return {\n      tableData: Array(20).fill(item)\n    }\n  }\n}\n\n&lt;\/script>\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1022\" src=\"https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833623-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202659-1024x1022.png\" alt=\"\" class=\"wp-image-740\" style=\"width:458px;height:auto\" srcset=\"https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833623-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202659-1024x1022.png 1024w, https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833623-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202659-300x300.png 300w, https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833623-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202659-150x150.png 150w, https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833623-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202659-768x767.png 768w, https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833623-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202659.png 1028w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u5982\u679c\u6709\u5305\u7248\u672c\u7684\u51b2\u7a81\uff0cnpm install --legacy-peer-deps&nbsp;<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u5341\u4e8c\u3001\u7f16\u5199Header\u5934\u9875\u9762<\/h1>\n\n\n\n<p>1.dropdown\u4e0b\u62c9<\/p>\n\n\n\n<p><a href=\"https:\/\/juejin.cn\/post\/7274883755478335546\" target=\"_blank\"  rel=\"nofollow\" >@click\u548c@click.native\u6709\u4ec0\u4e48\u533a\u522b\uff0c\u5982\u4f55\u963b\u6b62\u7b2c\u4e09\u65b9\u7ec4\u4ef6\u5185\u90e8\u7684\u5192\u6ce1\u4e00.@click\u548c@click.nati - \u6398\u91d1<\/a><\/p>\n\n\n\n<p>\u8fd9\u662f\u4e00\u7bc7\u6587\u7ae0\u5728vue3\u7684\u90e8\u5206\u540c\u5b66\u4eec\uff0c\u53ef\u80fd\u5bf9native\u7684\u9009\u62e9\u6709\u5e2e\u52a9<\/p>\n\n\n\n<p>&nbsp;AppHeader.vue<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;div style=\"display:flex;line-height:60px;\"&gt;\n    &lt;div&gt;\n      &lt;i class=\"el-icon-s-fold\" style=\"font-size:20px;vertical-align: middle;\"&gt;&lt;\/i&gt;\n    &lt;\/div&gt;\n    &lt;div style=\"flex:1;text-align:center;font-size:27px;\"&gt;\n      &lt;span&gt;\u6b22\u8fce\u6765\u5230\u4ed3\u5e93\u7ba1\u7406\u7cfb\u7edf&lt;\/span&gt;\n    &lt;\/div&gt;\n    &lt;span&gt;\u738b\u5c0f\u864e&lt;\/span&gt;\n    &lt;el-dropdown trigger=\"click\"&gt;\n      &lt;i class=\"el-icon-arrow-down\" style=\"margin-left:5px;\"&gt;&lt;\/i&gt;\n      &lt;el-dropdown-menu slot=\"dropdown\"&gt;&lt;!--\u76f4\u63a5\u7ed9\u56fe\u6807\u52a0line-height:60px\u5c31\u5c45\u4e2d\u4e86;\u52a0\u4e0aheight\u548cline-height\uff0c\u8ba9\u4ed6\u4eec\u76f8\u7b49\u5c31\u53ef\u4ee5\u8ba9\u6587\u672c\u5782\u76f4\u5c45\u4e2d;\u52a0\u5782\u76f4vertical-align: middle;\u5e94\u8be5\u5c31\u597d\u4e86--&gt;\n        &lt;el-dropdown-item @click.native=\"toUser\"&gt;\u4e2a\u4eba\u4e2d\u5fc3&lt;\/el-dropdown-item&gt;\n        &lt;el-dropdown-item @click.native=\"logout\"&gt;\u9000\u51fa\u767b\u5f55&lt;\/el-dropdown-item&gt;\n      &lt;\/el-dropdown-menu&gt;\n    &lt;\/el-dropdown&gt;\n  &lt;\/div&gt;\n&lt;\/template&gt;\n\n&lt;style scoped&gt;\n\n&lt;\/style&gt;\n&lt;script&gt;\n  export default{\n    name:\"AppHeader\",\n    methods:{\n      toUser() {\n        console.log('to_user')\n      },\n      logout(){\n        console.log('logout')\n      },\n    }\n  }\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p>&nbsp;IndexPage.vue\u90e8\u5206<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;el-container style=\"height: 100%; border: 1px solid #eee\"&gt;\n    &lt;el-aside width=\"200px\" style=\"background-color: rgb(238, 241, 246);height: 100%\"&gt;\n      &lt;AppAside&gt;&lt;\/AppAside&gt;\n    &lt;\/el-aside&gt;<\/code><\/pre>\n\n\n\n<p>2.\u83dc\u5355\u4f38\u7f29\u56fe\u6807<\/p>\n\n\n\n<p>\u539f\u5148\u7684\u592a\u591a\u4e86\uff0c\u4e0d\u7b26\u5408\u9879\u76ee\u7684\u8981\u6c42\uff0c<\/p>\n\n\n\n<p>\u8fd9\u91cc\u662f\u56e0\u4e3a\u8bbe\u7f6e\u4e861px\u7684border<\/p>\n\n\n\n<p>3.\u6b22\u8fce\u5b57\u6837<\/p>\n\n\n\n<p>4.\u53bb\u9664\u80cc\u666f\uff0c\u52a0\u5165\u4e0b\u8fb9\u6846<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u5341\u4e09\u3001\u83dc\u5355\u5bfc\u822a\u9875\u9762\u7f16\u5199<\/h1>\n\n\n\n<p>\u4e00\u7ea7\u83dc\u5355\uff0cAppHeader.vue<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;div style=\"display:flex;line-height:60px;\"&gt;\n    &lt;div&gt;\n      &lt;i class=\"el-icon-s-fold\" style=\"font-size:20px;vertical-align: middle;\"&gt;&lt;\/i&gt;\n    &lt;\/div&gt;\n    &lt;div style=\"flex:1;text-align:center;font-size:27px;\"&gt;\n      &lt;span&gt;\u6b22\u8fce\u6765\u5230\u4ed3\u5e93\u7ba1\u7406\u7cfb\u7edf&lt;\/span&gt;\n    &lt;\/div&gt;\n    &lt;span&gt;\u738b\u5c0f\u864e&lt;\/span&gt;\n    &lt;el-dropdown trigger=\"click\"&gt;\n      &lt;i class=\"el-icon-arrow-down\" style=\"margin-left:5px;\"&gt;&lt;\/i&gt;\n      &lt;el-dropdown-menu slot=\"dropdown\"&gt;&lt;!--\u76f4\u63a5\u7ed9\u56fe\u6807\u52a0line-height:60px\u5c31\u5c45\u4e2d\u4e86;\u52a0\u4e0aheight\u548cline-height\uff0c\u8ba9\u4ed6\u4eec\u76f8\u7b49\u5c31\u53ef\u4ee5\u8ba9\u6587\u672c\u5782\u76f4\u5c45\u4e2d;\u52a0\u5782\u76f4vertical-align: middle;\u5e94\u8be5\u5c31\u597d\u4e86--&gt;\n        &lt;el-dropdown-item @click.native=\"toUser\"&gt;\u4e2a\u4eba\u4e2d\u5fc3&lt;\/el-dropdown-item&gt;\n        &lt;el-dropdown-item @click.native=\"logout\"&gt;\u9000\u51fa\u767b\u5f55&lt;\/el-dropdown-item&gt;\n      &lt;\/el-dropdown-menu&gt;\n    &lt;\/el-dropdown&gt;\n  &lt;\/div&gt;\n&lt;\/template&gt;\n\n&lt;style scoped&gt;\n\n&lt;\/style&gt;\n&lt;script&gt;\n  export default{\n    name:\"AppHeader\",\n    methods:{\n      toUser() {\n        console.log('to_user')\n      },\n      logout(){\n        console.log('logout')\n      },\n    }\n  }\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p>\u5efa\u8bae\u76f4\u63a5\u770b\u4e0b\u4e00\u7bc7&nbsp;<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u5341\u56db\u3001\u83dc\u5355\u5bfc\u822a\u9875\u9762\u4f38\u7f29<\/h1>\n\n\n\n<p>\u4f38\u7f29\u7684\u601d\u8def\uff1a\u56fe\u6807\u548c\u6587\u5b57\uff0c\u6536\u8d77\u548c\u5c55\u5f00\u662f\u6709\u53d8\u91cf\u7684\uff0c\u6839\u636eelement\u7684\u5b98\u65b9\u6587\u6863\uff0c\u5bf9aside\u4fee\u6539<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" height=\"595\" width=\"625\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/5e89a183ba25458485c45efad2989c2c.png\" alt=\"\"><img loading=\"lazy\" decoding=\"async\" height=\"15\" width=\"15\" src=\"blob:https:\/\/eve2333.top\/de831425-c3ac-4c01-95ad-04c7ead678bf\"><\/p>\n\n\n\n<p>\u4e24\u76f8\u5bf9\u6bd4\uff0c\u53d1\u73b0\u52a8\u753b\u4e0d\u592a\u6d41\u7545\u5f71\u54cd\u89c2\u611f \u3002<\/p>\n\n\n\n<p>&nbsp;\u5e76\u4e14header\u7684\u9009\u9879\uff0c\u628a\u4fe1\u53f7\u8de8\u7ec4\u4ef6\u7ed9\u5230aside\uff0c\u53ef\u4ee5\u56de\u53bb\u770b\u770bvue\u7684\u591a\u79cd\u8de8\u7ec4\u4ef6\u65b9\u6cd5\u5417\uff1f<a href=\"https:\/\/blog.csdn.net\/passWordEnterX\/article\/details\/120525304\" target=\"_blank\"  rel=\"nofollow\" >Vue\u8de8\u7ec4\u4ef6\u901a\u4fe18\u79cd\u65b9\u5f0f\u6c47\u603b<\/a><br>&nbsp;\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u5168\u5c40\u4e8b\u4ef6\u603b\u7ebf\u5feb\u5f88\u591a\uff0c\u8fd9\u91cc\u63d0\u4f9b\u4e00\u4e2a<strong>\u4e0d\u592a\u597d\u7684\u65b9\u6cd5\uff08\u5f88\u5361\uff09<\/strong>\uff1aheader\u70b9\u51fb\u56fe\u6807---\u63d0\u4ea4---&gt;\u7236\u7ec4\u4ef6--\u6539\u53d8--&gt;aside\u5b50\u7ec4\u4ef6\uff08collapse\uff09<\/p>\n\n\n\n<p>IndexPage.vue<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;el-container style=\"height: 100%; border: 1px solid #eee\"&gt;\n    &lt;el-aside :width=\"aside_width\" style=\"background-color: rgb(238, 241, 246);height: 100% ;margin-left:-1px\"&gt;\n      &lt;AppAside :isCollapse=\"isCollapse\"&gt;&lt;\/AppAside&gt;\n    &lt;\/el-aside&gt;\n\n    &lt;el-container style=\"height: 100%\"&gt;\n      &lt;el-header style=\"text-align: right; font-size: 12px ;height:100%;border-bottom: rgba(168,168,168,0.3) 1px solid\"&gt;\n          &lt;AppHeader @doCollapse=\"doCollapse\" :icon=\"icon\"&gt;&lt;\/AppHeader&gt;\n      &lt;\/el-header&gt;\n\n      &lt;el-main style=\"height: 100%\"&gt;\n        &lt;AppMain&gt;&lt;\/AppMain&gt;\n      &lt;\/el-main&gt;\n    &lt;\/el-container&gt;\n  &lt;\/el-container&gt;\n\n&lt;\/template&gt;\n\n&lt;style scoped&gt;\n.el-header {\n  \/*background-color:#B3C0D1;*\/\n  color: #333;\n  line-height: 60px;\n}\n.el-main{\n  padding:5px;\n}\n.el-aside {\n  color: #333;\n}\n&lt;\/style&gt;\n\n&lt;script&gt;\nimport AppAside from \"@\/components\/AppAside.vue\";\nimport AppHeader from \"@\/components\/AppHeader.vue\";\nimport AppMain from \"@\/components\/AppMain.vue\";\nimport appAside from \"@\/components\/AppAside.vue\";\n\nexport default {\n  name:\"IndexPage\",\n  computed: {\n    appAside() {\n      return appAside\n    }\n  },\n  components: {AppMain, AppHeader, AppAside},\n  data(){\n    return {\n      isCollapse:false,\n      aside_width:'200px',\n      icon:'el-icon-s-fold'\n    }\n  },\n  methods:{\n    doCollapse(){\n      console.log(11111)\n      this.isCollapse =!this.isCollapse\n      if(!this.isCollapse){\/\/\u9ed8\u8ba4\u5c55\u5f00,\u4f60\u60f3\u5199\u4e09\u76ee\u4e5f\u884c this.isCollapse ===true?this.changeWidth=\"64px\":this.changeWidth=\"200px\"\n        this.aside_width='200px'\n        this.icon='el-icon-s-fold'\n      }else{\n        this.aside_width='62px'\n        this.icon='el-icon-s-unfold'\n      }\n    }\n  }\n};\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p>AppHeader.vue<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;div style=\"display:flex;line-height:60px;\"&gt;\n    &lt;div  style=\"cursor:pointer;\"&gt;\n      &lt;i :class=\"icon\" style=\"font-size:20px;vertical-align: middle;\" @click=\"collapse\"&gt;&lt;\/i&gt;\n    &lt;\/div&gt;\n    &lt;div style=\"flex:1;text-align:center;font-size:27px;\"&gt;\n      &lt;span&gt;\u6b22\u8fce\u6765\u5230\u4ed3\u5e93\u7ba1\u7406\u7cfb\u7edf&lt;\/span&gt;\n    &lt;\/div&gt;\n    &lt;span&gt;\u738b\u5c0f\u864e&lt;\/span&gt;\n    &lt;el-dropdown trigger=\"click\"&gt;\n      &lt;i class=\"el-icon-arrow-down\" style=\"margin-left:5px;\"&gt;&lt;\/i&gt;\n      &lt;el-dropdown-menu slot=\"dropdown\"&gt;&lt;!--\u76f4\u63a5\u7ed9\u56fe\u6807\u52a0line-height:60px\u5c31\u5c45\u4e2d\u4e86;\u52a0\u4e0aheight\u548cline-height\uff0c\u8ba9\u4ed6\u4eec\u76f8\u7b49\u5c31\u53ef\u4ee5\u8ba9\u6587\u672c\u5782\u76f4\u5c45\u4e2d;\u52a0\u5782\u76f4vertical-align: middle;\u5e94\u8be5\u5c31\u597d\u4e86--&gt;\n        &lt;el-dropdown-item @click.native=\"toUser\"&gt;\u4e2a\u4eba\u4e2d\u5fc3&lt;\/el-dropdown-item&gt;\n        &lt;el-dropdown-item @click.native=\"logout\"&gt;\u9000\u51fa\u767b\u5f55&lt;\/el-dropdown-item&gt;\n      &lt;\/el-dropdown-menu&gt;\n    &lt;\/el-dropdown&gt;\n  &lt;\/div&gt;\n&lt;\/template&gt;\n\n&lt;style scoped&gt;\n\n&lt;\/style&gt;\n&lt;script&gt;\n\n\n  export default{\n    name:\"AppHeader\",\n  props:{\n      icon:String\n  },\n    methods:{\n      toUser() {\n        console.log('to_user')\n      },\n      logout(){\n        console.log('logout')\n      },\n      collapse(){\n        this.$emit('doCollapse')\n      }\n\n    }\n  }\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p>AppAside.vue<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;el-menu\n    background-color=\"#545c64\"\n    text-color=\"#fff\"\n    active-text-color=\"#ffd04b\"\n    style=\"height:100vh;\"\n    default-active=\"\/Home\"\n    :collapse=\"isCollapse\"\n    :collapse-transition=\"false\"&gt;\n\n    &lt;el-menu-item index=\"\/One\"&gt;\n    &lt;i class=\"el-icon-s-home\"&gt;&lt;\/i&gt;\n    &lt;span slot=\"title\"&gt;\u9996\u9875&lt;\/span&gt;\n    &lt;\/el-menu-item&gt;\n\n    &lt;el-menu-item index=\"\/Two\"&gt;\n      &lt;i class=\"el-icon-s-flag\"&gt;&lt;\/i&gt;\n      &lt;span slot=\"title\"&gt;\u5bfc\u822a\u4e00&lt;\/span&gt;\n    &lt;\/el-menu-item&gt;\n\n    &lt;el-menu-item index=\"\/Home\"&gt;\n      &lt;i class=\"el-icon-s-opportunity\"&gt;&lt;\/i&gt;\n      &lt;span slot=\"title\"&gt;\u5bfc\u822a\u4e8c&lt;\/span&gt;\n    &lt;\/el-menu-item&gt;\n  &lt;\/el-menu&gt;\n&lt;\/template&gt;\n\n&lt;style scoped&gt;\n\n&lt;\/style&gt;\n&lt;script&gt;\n  export default{\n    name:\"AppAside\",\n    data(){\n      return{\n       \/\/ isCollapse:false\n      }\n    },\n    props:{\n      isCollapse:Boolean\n    }\n  }\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">\u5341\u4e94\u3001axios\u7684\u5b89\u88c5\u548c\u5904\u7406\u8de8\u57df<\/h1>\n\n\n\n<p>&nbsp;1.\u5b89\u88c5axios<br>npm install axios --save<\/p>\n\n\n\n<p>\u5728main.js\u5168\u5c40\u5f15\u5165axios<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import axios from \"axios\";\nVue.prototype.$axios =axios;<\/code><\/pre>\n\n\n\n<p>\u8de8\u57df<a href=\"https:\/\/blog.csdn.net\/whs_8792\/article\/details\/143892650\" target=\"_blank\"  rel=\"nofollow\" >\uff1a\u89e3\u51b3SpringBoot\u8de8\u57df\u95ee\u98988\u79cd\u65b9\u6cd5\uff0c\u542b\u7f51\u5173\u3001-CSDN\u535a\u5ba2<\/a><a href=\"https:\/\/blog.csdn.net\/weixin_39255905\/article\/details\/124341670\" target=\"_blank\"  rel=\"nofollow\" >SpringBoot\u89e3\u51b3\u8de8\u57df\u76845\u79cd\u65b9\u5f0f_springboot\u8de8\u57df-CSDN\u535a\u5ba2<\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>package com.wms.common;\n\nimport org.springframework.context.annotation.Configuration;\nimport org.springframework.web.servlet.config.annotation.CorsRegistry;\nimport org.springframework.web.servlet.config.annotation.WebMvcConfigurer;\n\n@Configuration\npublic class CorsConfig implements WebMvcConfigurer{\n\n    @override\n    public void addCorsMappings(CorsRegistry registry\uff09{\n        registry.addMapping(\"\/**\")\n            \/\/\u662f\u5426\u53d1\u9001Cookie\n            .allowCredentials(true)\n            \/\/\u653e\u884c\u54ea\u4e9b\u539f\u59cb\u57df\n            .aliowedOriginPatterns(\"*\")\n            .allowedMethods(new String&#91;]{\"GET\"\uff0c\"POST\"\uff0c\"PUT\"\uff0c\"DELETE\"})\n            .allowedHeaders(\"*\")\n            .exposedHeaders(\"*\");\n    }\n}<\/code><\/pre>\n\n\n\n<p>get\u4f7f\u7528&nbsp; &nbsp; &nbsp; &nbsp; \u8fd9\u4e2aget\u524d\u7aef\u5199\u6cd5\u5df2\u7ecf\u8fc7\u65f6\u4e86<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>this.$axios.get('http:\/\/localhost:8090\/1ist').then(res=&gt;{\n    console.log(res)\n })<\/code><\/pre>\n\n\n\n<p>post\u4f7f\u7528\uff0cF12\u5982\u4e0b\u56fe\u6240\u793a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>this.$axios.post('http:\/\/localhost:8091\/user\/1istP',()).then(res=&gt;{\nconsole.log(res)\n})<\/code><\/pre>\n\n\n\n<p><strong>\u5c06\u5730\u5740\u8bbe\u7f6e\u4e3a\u5168\u5c40,\u8bb0\u5f97\u5f00mysql\uff01\uff01\uff01\uff01\uff01\uff01\uff01\uff01\uff01\uff01\uff01\uff01\u554a\u554a\u554a\u554a\u554a\u554a<\/strong><img loading=\"lazy\" decoding=\"async\" height=\"15\" width=\"15\" src=\"blob:https:\/\/eve2333.top\/1335ce0b-0ae5-4351-aa7c-2b9db4934de3\"><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"427\" src=\"https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833657-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202732-1024x427.png\" alt=\"\" class=\"wp-image-741\" srcset=\"https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833657-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202732-1024x427.png 1024w, https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833657-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202732-300x125.png 300w, https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833657-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202732-768x320.png 768w, https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833657-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202732.png 1027w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u5b9e\u9645\u4e0a\uff0c\u8de8\u57df\u53ef\u4ee5\u4e00\u4e2a<strong>@CrossOrigin<\/strong>\u89e3\u51b3\uff08@CrossOrigin\u4f7f\u7528\u573a\u666f\u8981\u6c42\uff08jdk1.8+\uff0cSpring4.2+\uff09<\/p>\n\n\n\n<p>&nbsp;\u4f46\u662f\u8bf7\u5728wms\/src\/main\/java\/com.wms\/common\u65b0\u5efaCorConfig.java<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>package com.wms.common;\n\nimport org.springframework.context.annotation.Configuration;\nimport org.springframework.web.servlet.config.annotation.CorsRegistry;\nimport org.springframework.web.servlet.config.annotation.WebMvcConfigurer;\n\n\/\/ \u6848\u4f8b \u4e00\n@Configuration\npublic class CorsConfig implements WebMvcConfigurer {\n \n    @Override\n    public void addCorsMappings(CorsRegistry registry) {\n        registry.addMapping(\"\/**\")\n                \/\/\u662f\u5426\u53d1\u9001Cookie\n                .allowCredentials(true)\n                \/\/\u653e\u884c\u54ea\u4e9b\u539f\u59cb\u57df\n                .allowedOriginPatterns(\"*\")\n                .allowedMethods(new String&#91;]{\"GET\", \"POST\", \"PUT\", \"DELETE\"})\n                .allowedHeaders(\"*\")\n                .exposedHeaders(\"*\");\n    }\n}<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"227\" src=\"https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833691-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202806-1024x227.png\" alt=\"\" class=\"wp-image-742\" srcset=\"https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833691-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202806-1024x227.png 1024w, https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833691-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202806-300x66.png 300w, https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833691-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202806-768x170.png 768w, https:\/\/eve2333.top\/wp-content\/uploads\/2024\/12\/1733833691-\u5c4f\u5e55\u622a\u56fe-2024-12-10-202806.png 1030w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>&nbsp;AppMain\u4e2d<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">methods:{\n  loadGet(){\n    this.$axios.get('http:\/\/localhost:8090\/user\/list').then(res=&gt;res.data).then(res=&gt;{\n      console.log(res)\n    })\n  }\n},\nbeforeMount() {\n  this.loadGet();\n}<\/pre>\n\n\n\n<p><s>&nbsp;\u8fd9\u4e2asql\u663e\u793a\u8981\u5728yml\u6587\u4ef6\u91cc\u52a0\u914d\u7f6e\uff0c\u53ef\u4ee5\u641cmybatis\u63a7\u5236\u53f0\u6253\u5370sql\u914d\u7f6e<\/s><\/p>\n\n\n\n<p>\u8bf7\u5728pom\u4e2d\u6dfb\u52a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;dependency&gt;\n\t\t\t&lt;groupId&gt;org.apache.commons&lt;\/groupId&gt;\n\t\t\t&lt;artifactId&gt;commons-lang3&lt;\/artifactId&gt;\n\t\t\t&lt;version&gt;3.12.0&lt;\/version&gt; &lt;!-- \u8bf7\u4f7f\u7528\u6700\u65b0\u7684\u7248\u672c\u53f7 --&gt;\n\t\t&lt;\/dependency&gt;<\/code><\/pre>\n\n\n\n<p>\u4f60\u53ef\u4ee5\u5c06 StringUtil.isNotBlack(user.getName()) \u66ff\u6362\u4e3a StringUtils.isNotBlank(user.getName())\u3002\u8fd9\u6837\u5c31\u53ef\u4ee5\u6b63\u786e\u5730\u5224\u65ad user.getName() \u662f\u5426\u65e2\u975e null \u53c8\u4e0d\u662f\u7a7a\u767d\u5b57\u7b26\u4e32\u4e86\u3002<\/p>\n\n\n\n<p>&nbsp;\u5728main.js\u4e2d\u6dfb\u52a0\uff0c\u4ece\u800c\u5168\u5c40\u5730\u5740<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Vue.prototype.$httpUrl='http:\/\/localhost:8090'<\/pre>\n\n\n\n<p>&nbsp;this.$axios.get(this.$httpUrl+'\/user\/list').then(res=&gt;res.data).then(res=&gt;{\u53ef\u4ee5\u628a$httpUrl\u53bb\u6389\uff0c\u53bb\u7528\u53bb\u62e6\u622a\uff1a\u8fd9\u91cc\u5c31\u4e0d\u8fd9\u4e48\u641e\u4e86\u3002<\/p>\n\n\n\n<p>request.js\u53ef\u4f9b\u9009\u62e9\u4f7f\u7528\uff0c\u6211\u5c31\u4e0d\u7528\u4e86<a href=\"https:\/\/blog.csdn.net\/xqnode\/article\/details\/118325868\" target=\"_blank\"  rel=\"nofollow\" >Vue\u9879\u76ee\u642d\u5efa\u5e38\u7528\u7684\u914d\u7f6e\u6587\u4ef6\uff0crequest.js\u548cvue.config.js_vue\u9879\u76ee\u642d\u5efa\u5e38\u7528\u7684\u914d\u7f6e\u6587\u4ef6,request.js\u548cvue.config.js-CSDN\u535a\u5ba2<\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ 1.\u5f15\u5165axios\n\/\/ 2.axios.create\u65b9\u6cd5\u521b\u5efa\u5b9e\u4f8b\n\/\/ 3.\u4f7f\u7528\u5b9e\u4f8b\u5bf9\u8c61\u521b\u5efa\u8bf7\u6c42\u62e6\u622a\u5668\n\/\/ 4.\u4f7f\u7528\u5b9e\u4f8b\u521b\u5efa\u54cd\u5e94\u62e6\u622a\u5668\n\/\/ 5.export\u629b\u51fa\u5b9e\u4f8b\u5bf9\u8c61\n\/\/ 6.main.js\u4e2d\u5f15\u5165request\u6587\u4ef6\u5bf9\u8c61\nimport axios from 'axios'\nimport store from '@\/store\/index'\nconst Server =axios.create({\n    baseURL:'',\n    timeout:3000\n})\n\/\/\u4f7f\u7528Server\u521b\u5efa\u8bf7\u6c42\u62e6\u622a\u5668\nServer.interceptors.request.use(function(config){\n    store.commit('setLoading',true) \/\/\u8bbe\u7f6eloading\u6548\u679c\n    return config;\n},function(error){\n    return Promise.reject(error)\n})\n\/\/\u4f7f\u7528Server\u521b\u5efa\u54cd\u5e94\u62e6\u622a\u5668\nServer.interceptors.response.use(function(response){\n    console.log(response);\n    \/\/\u5224\u65ad\u63a5\u53e3\u8fd4\u56de\u7684\u6570\u636e\u6210\u529f\uff0c\u76f4\u63a5\u8fd4\u56de\u6570\u636e\u4e2ddata\u6570\u636e\n    if(response.status == 200){\n        setTimeout(() =&gt; {\n            store.commit('setLoading',false) \/\/\u8bbe\u7f6eloading\u6548\u679c\n        }, 1000);\n        return response.data;\n    }\n    return response;\n},function(error){\n    return Promise.reject(error);\n});\nexport default Server\n<\/code><\/pre>\n\n\n\n<p>&nbsp;UserController.java\u90e8\u5206<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/\u67e5\u8be2\uff08\u6a21\u7cca\u3001\u5339\u914d\uff09\n    @PostMapping(\"\/listP\")\n    public List&lt;User&gt; listP(@RequestBody User user) {\n        LambdaQueryWrapper&lt;User&gt; lambdaQueryWrapper = new LambdaQueryWrapper();\n        if(StringUtils.isNotBlank(user.getName())){\n            lambdaQueryWrapper.like(User::getName, user.getName());\n        }\n        \/\/lambdaQueryWrapper.like(User::getName, user.getName());\n        \/\/lambdaQueryWrapper.eq(User::getName, user.getName());\n        \/\/eq\u5c31\u662f\u5b8c\u5168\u5339\u914d\n        return userService.list(lambdaQueryWrapper);\n    }<\/code><\/pre>\n\n\n\n<p>Appmain.vue\u90e8\u5206<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;script&gt;\n  export default{\n    name:\"AppMain\",\/*\u5176\u5b9e\u662f\u60f3\u6539\u6210MainComponent\u7684*\/\n    data() {\n\n      return {\n        tableData: Array(10).fill(item)\n      }\n    },\n    methods:{\n      loadGet(){\n        this.$axios.get(this.$httpUrl+'\/user\/list').then(res=&gt;res.data).then(res=&gt;{\n          console.log(res)\n        })\n      },\n      loadPost(){\n        this.$axios.post(this.$httpUrl+'\/user\/listP',{}).then(res=&gt;res.data).then(res=&gt;{\n          console.log(res)\n        })\n      }\n    },\n    beforeMount() {\n      this.loadGet()\n    }\n  }\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">\u5341\u516d\u3001\u5217\u8868\u5c55\u793a<\/h1>\n\n\n\n<p>1.\u5217\u8868\u6570\u636e<br>2.\u7528tag\u8f6c\u6362\u5217<br>3.header-cell-style\u8bbe\u7f6e\u8868\u5934\u6837\u5f0f<br>4.\u52a0\u4e0a\u8fb9\u6846<br>5.\u6309\u94ae\uff08\u7f16\u8f91\u3001\u5220\u9664\uff09<br>6.\u540e\u7aef\u8fd4\u56de\u7ed3\u679c\u5c01\u88c5\uff08Result\uff09<\/p>\n\n\n\n<p>&nbsp;AppMain.vue\u7684\u9700\u4fee\u6539<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;el-table :data=\"tableData\"&gt;\n    &lt;el-table-column prop=\"id\" label=\"ID\" width=\"60\"&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"no\" label=\"\u8d26\u53f7\" width=\"120\"&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"name\" label=\"\u59d3\u540d\" width=\"80\"&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"age\" label=\"\u5e74\u9f84\" width=\"80\"&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"sex\" label=\"\u6027\u522b\" width=\"80\"&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"roleId\" label=\"\u89d2\u8272\" width=\"80\"&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"phone\" label=\"\u7535\u8bdd\" width=\"120\"&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"operate\" label=\"\u64cd\u4f5c\"&gt;\n    &lt;\/el-table-column&gt;\n  &lt;\/el-table&gt;\n&lt;\/template&gt;\n\n&lt;style scoped&gt;\n\n&lt;\/style&gt;\n\n&lt;script&gt;\n  export default{\n    name:\"AppMain\",\/*\u5176\u5b9e\u662f\u60f3\u6539\u6210MainComponent\u7684*\/\n    data() {\n      return {\n        tableData:&#91;]\n      }\n    },\n    methods:{\n      loadGet(){\n        this.$axios.get(this.$httpUrl+'\/user\/list').then(res=&gt;res.data).then(res=&gt;{\n          console.log(res)\n        })\n      },\n      loadPost(){\n        this.$axios.post(this.$httpUrl+'\/user\/listP',{}).then(res=&gt;res.data).then(res=&gt;{\n          console.log(res)\n          this.tableData=res\n        })\n      }\n    },\n    beforeMount() {\n      this.loadPost()\n    }\n  }\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p>\u8fd9\u91cc\u6211\u8fd8\u62a5\u9519\u4e86\uff0c\u6539\u4e86loadPost\u624d\u6b63\u786e\uff0c\u8fd9\u662ftyqw\u7684\u5efa\u8bae&nbsp;&nbsp;<strong>( \u770b\u770b\u5c31\u597d\uff0c\u4e0d\u8981\u7167\u642c<\/strong><\/p>\n\n\n\n<p>\u4ece\u4f60\u7684\u4ee3\u7801\u6765\u770b\uff0c\u95ee\u9898\u53ef\u80fd\u51fa\u5728\u4ee5\u4e0b\u51e0\u4e2a\u65b9\u9762\uff1a<\/p>\n\n\n\n<p>1. **API \u8c03\u7528\u65b9\u5f0f**\uff1a\u4f60\u5728 `loadGet` \u65b9\u6cd5\u4e2d\u4f7f\u7528\u4e86 GET \u8bf7\u6c42\u6765\u83b7\u53d6\u7528\u6237\u5217\u8868\uff0c\u4f46\u5728 `loadPost` \u65b9\u6cd5\u4e2d\u4f7f\u7528\u4e86 POST \u8bf7\u6c42\u3002\u5982\u679c\u4f60\u7684\u540e\u7aef API \u9700\u8981\u901a\u8fc7 POST \u8bf7\u6c42\u6765\u83b7\u53d6\u7528\u6237\u5217\u8868\uff0c\u90a3\u4e48\u4f60\u5e94\u8be5\u53ea\u4fdd\u7559\u4e00\u4e2a\u65b9\u6cd5\uff0c\u5e76\u786e\u4fdd\u5b83\u6b63\u786e\u5730\u8c03\u7528\u4e86\u540e\u7aef\u63a5\u53e3\u3002<\/p>\n\n\n\n<p>2. **\u54cd\u5e94\u5904\u7406**\uff1a\u4f60\u9700\u8981\u5c06\u540e\u7aef\u8fd4\u56de\u7684\u6570\u636e\u8d4b\u503c\u7ed9 `tableData` \u6570\u7ec4\uff0c\u4ee5\u4fbf\u5728 Vue \u7ec4\u4ef6\u4e2d\u663e\u793a\u8fd9\u4e9b\u6570\u636e\u3002\u76ee\u524d\uff0c\u4f60\u53ea\u662f\u6253\u5370\u4e86\u8fd4\u56de\u7684\u6570\u636e\uff0c\u4f46\u6ca1\u6709\u5c06\u5176\u8d4b\u503c\u7ed9 `tableData`\u3002<\/p>\n\n\n\n<p>3. **\u7ec4\u4ef6\u751f\u547d\u5468\u671f\u94a9\u5b50**\uff1a\u4f60\u53ef\u4ee5\u5728 `mounted` \u751f\u547d\u5468\u671f\u94a9\u5b50\u4e2d\u8c03\u7528\u52a0\u8f7d\u6570\u636e\u7684\u65b9\u6cd5\uff0c\u800c\u4e0d\u662f\u5728 `beforeMount` \u4e2d\u3002\u8fd9\u6837\u53ef\u4ee5\u786e\u4fdd DOM \u5df2\u7ecf\u6e32\u67d3\u5b8c\u6bd5\u540e\u518d\u8fdb\u884c\u6570\u636e\u8bf7\u6c42\u548c\u66f4\u65b0\u3002<\/p>\n\n\n\n<p>4. **\u9519\u8bef\u5904\u7406**\uff1a\u5efa\u8bae\u6dfb\u52a0\u9519\u8bef\u5904\u7406\u903b\u8f91\uff0c\u4ee5\u9632\u6b62\u7f51\u7edc\u6216\u670d\u52a1\u5668\u51fa\u73b0\u95ee\u9898\u65f6\u5bfc\u81f4\u5e94\u7528\u5d29\u6e83\u3002<\/p>\n\n\n\n<p>\u4ee5\u4e0b\u662f\u4fee\u6539\u540e\u7684\u4ee3\u7801\u793a\u4f8b&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n&nbsp; &lt;el-table :data=\"tableData\"&gt;\n&nbsp; &nbsp; &lt;!-- ... --&gt;\n&nbsp; &lt;\/el-table&gt;\n&lt;\/template&gt;\n\n&lt;script&gt;\nexport default {\n&nbsp; name: \"AppMain\",\n&nbsp; data() {\n&nbsp; &nbsp; return {\n&nbsp; &nbsp; &nbsp; tableData: &#91;]\n&nbsp; &nbsp; };\n&nbsp; },\n&nbsp; mounted() {\n&nbsp; &nbsp; this.loadData();\n&nbsp; },\n&nbsp; methods: {\n&nbsp; &nbsp; loadData() {\n&nbsp; &nbsp; &nbsp; \/\/ \u786e\u4fdd\u4f7f\u7528\u6b63\u786e\u7684 HTTP \u65b9\u6cd5\uff08GET \u6216 POST\uff09\n&nbsp; &nbsp; &nbsp; const method = 'POST'; \/\/ \u6839\u636e\u5b9e\u9645\u9700\u6c42\u9009\u62e9 GET \u6216 POST\n\n&nbsp; &nbsp; &nbsp; if (method === 'GET') {\n&nbsp; &nbsp; &nbsp; &nbsp; this.$axios.get(this.$httpUrl + '\/user\/list')\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .then(response =&gt; {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.tableData = response.data;\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; })\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .catch(error =&gt; {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; console.error('Error fetching data:', error);\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; });\n&nbsp; &nbsp; &nbsp; } else if (method === 'POST') {\n&nbsp; &nbsp; &nbsp; &nbsp; this.$axios.post(this.$httpUrl + '\/user\/listP', {})\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .then(response =&gt; {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.tableData = response.data;\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; })\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .catch(error =&gt; {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; console.error('Error fetching data:', error);\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; });\n&nbsp; &nbsp; &nbsp; }\n&nbsp; &nbsp; }\n&nbsp; }\n};\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p>\u8bf7\u6ce8\u610f\u4ee5\u4e0b\u51e0\u70b9\uff1a<br>- \u5c06 `beforeMount` \u6539\u4e3a `mounted`\u3002<br>- \u5728 `loadData` \u65b9\u6cd5\u4e2d\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u9009\u62e9 GET \u6216 POST \u8bf7\u6c42\u3002<br>- \u5c06\u540e\u7aef\u8fd4\u56de\u7684\u6570\u636e\u76f4\u63a5\u8d4b\u503c\u7ed9 `tableData`\u3002<br>- \u6dfb\u52a0\u9519\u8bef\u5904\u7406\u903b\u8f91\u3002<\/p>\n\n\n\n<p>\u8fd9\u6837\u5e94\u8be5\u53ef\u4ee5\u5e2e\u52a9\u4f60\u89e3\u51b3\u201c\u6682\u65e0\u6570\u636e\u201d\u7684\u95ee\u9898\u3002\u5982\u679c\u95ee\u9898\u4ecd\u7136\u5b58\u5728\uff0c\u8bf7\u68c0\u67e5\u540e\u7aef API \u7684 URL \u662f\u5426\u6b63\u786e\u4ee5\u53ca\u8fd4\u56de\u7684\u6570\u636e\u683c\u5f0f\u662f\u5426\u7b26\u5408\u9884\u671f\u3002<img loading=\"lazy\" decoding=\"async\" height=\"266\" width=\"548\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/c6a702cc410d47d292a353cf05cdaccf.png\" alt=\"\"><img loading=\"lazy\" decoding=\"async\" height=\"15\" width=\"15\" src=\"blob:https:\/\/eve2333.top\/1cb1de8b-5982-4222-90fb-ae52eb5552ce\"><\/p>\n\n\n\n<p>&nbsp;2.\u7528tag\u8f6c\u6362\u5217<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;el-table :data=\"tableData\"&gt;\n    &lt;el-table-column prop=\"id\" label=\"ID\" width=\"60\"&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"no\" label=\"\u8d26\u53f7\" width=\"120\"&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"name\" label=\"\u59d3\u540d\" width=\"80\"&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"age\" label=\"\u5e74\u9f84\" width=\"80\"&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"sex\" label=\"\u6027\u522b\" width=\"80\"&gt;\n      &lt;template slot-scope=\"scope\"&gt;\n        &lt;el-tag\n            :type=\"scope.row.sex === 1 ?'primary':'success'\"\n            disable-transitions&gt;{{scope.row.sex=== 1 ?'\u7537':'\u5973'}}&lt;\/el-tag&gt;\n       &lt;\/template&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"roleId\" label=\"\u89d2\u8272\" width=\"120\"&gt;\n      &lt;template slot-scope=\"scope\"&gt;\n        &lt;el-tag\n            :type=\"scope.row.roleId === 0 ?'danger':(scope.row.roleId === 1 ?'primary':'success')\"\n            disable-transitions&gt;{{scope.row.roleId === 0 ?'\u8d85\u7ea7\u7ba1\u7406\u5458':(scope.row.roleId === 1 ?'\u7ba1\u7406\u5458':'\u7528\u6237')}}&lt;\/el-tag&gt;\n      &lt;\/template&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"phone\" label=\"\u7535\u8bdd\" width=\"120\"&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"operate\" label=\"\u64cd\u4f5c\"&gt;\n    &lt;\/el-table-column&gt;\n  &lt;\/el-table&gt;\n&lt;\/template&gt;<\/code><\/pre>\n\n\n\n<p>\u53ef\u80fd\u4f1a\u62a5\u9519\uff0cidea\u53c8\u62bd\u98ce\u4e86\uff0c\u8fdb\u4e00\u6b65\u4fee\u6539<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;el-table :data=\"tableData\"\n  :header-cell-style=\"{background:'#f2f5fc',color:'#555'}\"\n  border\n  &gt;\n    &lt;el-table-column prop=\"id\" label=\"ID\" width=\"60\"&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"no\" label=\"\u8d26\u53f7\" width=\"120\"&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"name\" label=\"\u59d3\u540d\" width=\"80\"&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"age\" label=\"\u5e74\u9f84\" width=\"80\"&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"sex\" label=\"\u6027\u522b\" width=\"80\"&gt;\n      &lt;template slot-scope=\"scope\"&gt;\n        &lt;el-tag\n            :type=\"scope.row.sex === 1 ?'primary':'success'\"\n            disable-transitions&gt;{{scope.row.sex === 1 ?'\u7537':'\u5973'}}&lt;\/el-tag&gt;\n      &lt;\/template&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"roleId\" label=\"\u89d2\u8272\" width=\"120\"&gt;\n      &lt;template slot-scope=\"scope\"&gt;\n        &lt;el-tag\n            :type=\"scope.row.roleId === 0 ?'danger':(scope.row.roleId === 1 ?'primary':'success')\"\n            disable-transitions&gt;{{scope.row.roleId === 0 ?'\u8d85\u7ea7\u7ba1\u7406\u5458':(scope.row.roleId === 1 ?'\u7ba1\u7406\u5458':'\u7528\u6237')}}&lt;\/el-tag&gt;\n      &lt;\/template&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"phone\" label=\"\u7535\u8bdd\" width=\"120\"&gt;\n    &lt;\/el-table-column&gt;\n    &lt;el-table-column prop=\"operate\" label=\"\u64cd\u4f5c\"&gt;\n      &lt;el-button size=\"small\" type=\"success\"&gt;\u7f16\u8f91&lt;\/el-button&gt;\n      &lt;el-button size=\"small\" type=\"danger\"&gt;\u5220\u9664&lt;\/el-button&gt;\n    &lt;\/el-table-column&gt;\n  &lt;\/el-table&gt;\n&lt;\/template&gt;\n\n&lt;style scoped&gt;\n\n&lt;\/style&gt;\n&lt;script&gt;\nexport default {\n  name: \"Main\",\n  data() {\n    return {\n      tableData: &#91;]\n    }\n  },\n  methods: {\n    loadGet() {\n      this.$axios.get(this.$httpUrl + '\/user\/list').then(res =&gt; res.data).then(res =&gt; {\n        console.log(res)\n      })\n    },\n    loadPost(){\n      this.$axios.post(this.$httpUrl+'\/user\/listP',{}).then(res=&gt;res.data).then(res=&gt;{\n        console.log(res)\n        if(res.code===200){\n          this.tableData=res.data\n        }\n        else{\n          alert('\u83b7\u53d6\u6570\u636e\u5931\u8d25\uff01\u8bf7\u5237\u65b0\u9875\u9762')\n        }\n      })\n    }\n  },\n  beforeMount() {\n    \/\/ this.loadGet();\n    this.loadPost()\n  }\n}\n\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p>\u4fee\u6539\u5bf9\u5e94\u7684Usercontroller.java\uff0c\u56e0\u4e3a\u4f60\u662f\u4e00\u4e2a\u5217\u8868\uff0c\u67e5\u51fa\u6765\u7684\u6570\u636e\u5c31\u653e\u8fdb\u53bb\u5c31\u597d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/\u67e5\u8be2\uff08\u6a21\u7cca\u3001\u5339\u914d\uff09\n    @PostMapping(\"\/listP\")\n    public Result listP(@RequestBody User user) {\n        LambdaQueryWrapper&lt;User&gt; lambdaQueryWrapper = new LambdaQueryWrapper();\n        if(StringUtils.isNotBlank(user.getName())){\n            lambdaQueryWrapper.like(User::getName, user.getName());\n        }\n        \/\/lambdaQueryWrapper.like(User::getName, user.getName());\n        \/\/lambdaQueryWrapper.eq(User::getName, user.getName());\n        \/\/eq\u5c31\u662f\u5b8c\u5168\u5339\u914d\n        return Result.success(userService.list(lambdaQueryWrapper));\n    }<\/code><\/pre>\n\n\n\n<p>\u91cd\u542f\u540e\u7aef\u670d\u52a1WmsApplication\uff0c\u8fd9\u65f6\u524d\u7aef\u5237\u65b0\u540e\u4ec0\u4e48\u90fd\u6ca1\u6709\u662f\u6b63\u5e38\u7684\uff0c\u56e0\u4e3a\u6570\u636e\u7ecf\u8fc7\u4e86\u4e00\u5c42\u5c01\u88c5\uff0c\u5728AppMain\u4e2d\u4fee\u6539loadPost\u5982\u4e0b\uff0c\u5bf9200\u8fdb\u884c\u5224\u5b9a\uff0c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>loadPost(){\n        this.$axios.post(this.$httpUrl+'\/user\/listP',{}).then(res=&gt;res.data).then(res=&gt;{\n          console.log(res)\n          if(res.code===200){\n            this.tableData=res.data\n          }\n          else{\n            alert('\u83b7\u53d6\u6570\u636e\u5931\u8d25\uff01\u8bf7\u5237\u65b0\u9875\u9762')\n          }\n\n        })\n      }<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">\u5341\u4e03\u3001\u5206\u9875\u67e5\u8be2&nbsp;<\/h1>\n\n\n\n<p>1.\u9875\u9762\u52a0\u4e0a\u5206\u9875\u4ee3\u7801<br>2.\u4fee\u6539\u67e5\u8be2\u65b9\u6cd5\u548c\u53c2\u6570<br>3.\u5904\u7406\u7ffb\u9875\u3001\u8bbe\u7f6e\u6761\u6570\u903b\u8f91\uff08\u6ce8\u610f\u4e00\u4e2a\u95ee\u9898\uff09<\/p>\n\n\n\n<p>Main.vue<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;div&gt;\n    &lt;el-table :data=\"tableData\"\n              :header-cell-style=\"{background:'#f2f5fc',color:'#555'}\"\n              border\n    &gt;\n      &lt;el-table-column prop=\"id\" label=\"ID\" width=\"60\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"no\" label=\"\u8d26\u53f7\" width=\"120\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"name\" label=\"\u59d3\u540d\" width=\"80\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"age\" label=\"\u5e74\u9f84\" width=\"80\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"sex\" label=\"\u6027\u522b\" width=\"80\"&gt;\n        &lt;template slot-scope=\"scope\"&gt;\n          &lt;el-tag\n              :type=\"scope.row.sex === 1 ?'primary':'success'\"\n              disable-transitions&gt;{{ scope.row.sex === 1 ? '\u7537' : '\u5973' }}\n          &lt;\/el-tag&gt;\n        &lt;\/template&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"roleId\" label=\"\u89d2\u8272\" width=\"120\"&gt;\n        &lt;template slot-scope=\"scope\"&gt;\n          &lt;el-tag\n              :type=\"scope.row.roleId === 0 ?'danger':(scope.row.roleId === 1 ?'primary':'success')\"\n              disable-transitions&gt;\n            {{ scope.row.roleId === 0 ? '\u8d85\u7ea7\u7ba1\u7406\u5458' : (scope.row.roleId === 1 ? '\u7ba1\u7406\u5458' : '\u7528\u6237') }}\n          &lt;\/el-tag&gt;\n        &lt;\/template&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"phone\" label=\"\u7535\u8bdd\" width=\"120\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"operate\" label=\"\u64cd\u4f5c\"&gt;\n        &lt;el-button size=\"small\" type=\"success\"&gt;\u7f16\u8f91&lt;\/el-button&gt;\n        &lt;el-button size=\"small\" type=\"danger\"&gt;\u5220\u9664&lt;\/el-button&gt;\n      &lt;\/el-table-column&gt;\n    &lt;\/el-table&gt;\n    &lt;el-pagination\n        @size-change=\"handleSizeChange\"\n        @current-change=\"handleCurrentChange\"\n        :current-page=\"pageNum\"\n        :page-sizes=\"&#91;5, 10, 20,50]\"\n        :page-size=\"pageSize\"\n        layout=\"total, sizes, prev, pager, next, jumper\"\n        :total=\"total\"&gt;\n    &lt;\/el-pagination&gt;\n  &lt;\/div&gt;\n&lt;\/template&gt;\n\n&lt;style scoped&gt;\n\n&lt;\/style&gt;\n&lt;script&gt;\nexport default {\n  name: \"Main\",\n  data() {\n    return {\n      tableData: &#91;],\n      pageSize: 10,\n      pageNum: 1,\n      total: 0\n    }\n  },\n  methods: {\n    loadGet() {\n      this.$axios.get(this.$httpUrl + '\/user\/list').then(res =&gt; res.data).then(res =&gt; {\n        console.log(res)\n      })\n    },\n    loadPost() {\n      this.$axios.post(this.$httpUrl + '\/user\/listPageC1', {\n        pageSize:this.pageSize,\n        pageNum:this.pageNum\n      }).then(res =&gt; res.data).then(res =&gt; {\n        console.log(res)\n        if (res.code === 200) {\n          this.tableData = res.data\n          this.total=res.total\n        } else {\n          alert('\u83b7\u53d6\u6570\u636e\u5931\u8d25\uff01\u8bf7\u5237\u65b0\u9875\u9762')\n        }\n      })\n    },\n    handleSizeChange(val) {\n      console.log(`\u6bcf\u9875 ${val} \u6761`);\n      this.pageNum = 1\/\/\u8fd9\u4e2a\u9519\u8bef\u662f\u5148\u7ffb\u5230\u7b2c\u4e8c\u9875\u5728\u8c03\u9875\u9762\u6761\u6570\uff0c\u663e\u793a\u65e0\u6570\u636e\n      this.pageSize = val\n      this.loadPost()\n    },\n    handleCurrentChange(val) {\n      console.log(`\u5f53\u524d\u9875: ${val}`);\n      this.pageNum = val\n      this.loadPost()\n    }\n  },\n  beforeMount() {\n    \/\/ this.loadGet();\n    this.loadPost()\n  }\n}\n\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p>&nbsp;QueryPageParam.java<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">private HashMap parma = new HashMap();\n\npublic HashMap getParam() {\n    return parma;\n}<\/pre>\n\n\n\n<p>&nbsp;UserController.vue<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@PostMapping(\"\/listPageC1\")\n    \/\/public List&lt;User&gt;listPage(@RequestBody HashMap map){\n    public Result listPageC1(@RequestBody QueryPageParam query) {\n        HashMap param = query.getParam();\n        String name = (String) param.get(\"name\");\n        System.out.println(\"name===\" + (String) param.get(\"name\"));\n\n        Page&lt;User&gt; page = new Page();\n        page.setCurrent(query.getPageNum());\n        page.setSize(query.getPageSize());\n\n        LambdaQueryWrapper&lt;User&gt; lambdaQueryWrapper = new LambdaQueryWrapper();\n        if(StringUtils.isNotBlank(name)&amp;&amp;!\"null\".equals(name)) {\n            lambdaQueryWrapper.like(User::getName, name);\n        }\n\n        \/\/IPage result=userService.pageC(page);\n        IPage result=userService.pageCC(page,lambdaQueryWrapper);\n        System.out.println(\"total==\"+result.getTotal());\n\n\n        return Result.success(result.getRecords(),result.getTotal());\/\/\u63d0\u9192\uff0clistPageC1\u7684return\u8bb0\u5f97\u6539\n    }<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">\u5341\u516b\u3001\u67e5\u8be2\u5904\u7406<\/h1>\n\n\n\n<p>1.\u67e5\u8be2\u7684\u5e03\u5c40\uff08\u5305\u542b\u67e5\u8be2\u3001\u91cd\u7f6e\u6309\u94ae\uff09<br>2.\u8f93\u5165\u6846\uff0c\u5728appmain.vue\u4e2d\u5982\u6b64<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;div&gt;\n    &lt;div style=\"margin-left:5px\"&gt;\n      &lt;el-input v-model=\"name\" placeholder=\"\u8bf7\u8f93\u5165\u540d\u5b57:\" suffix-icon=\"el-icon-search\" style=\"width:200px;\"&gt;&lt;\/el-input&gt;\n      &lt;el-button type =\"primary\" style=\"margin-left:5px\" @click=\"loadPost\"&gt;\u67e5\u8be2&lt;\/el-button&gt;\n      &lt;el-button type=\"success\"&gt;\u91cd\u7f6e&lt;\/el-button&gt;\n    &lt;\/div&gt;\n  &lt;el-table :data=\"tableData\"\n  :header-cell-style=\"{background:'#e0ecf4',color:'#555'}\"\n  border\n  &gt;<\/code><\/pre>\n\n\n\n<p>main.js\u4e2d\u5982\u6b64<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/Vue.use(ElementUI)\nVue.use(ElementUI,{size:'small'})<\/pre>\n\n\n\n<p>&nbsp;\u67e5\u8be2\u8981\u628a\u6570\u636e\u4f20\u5230\u540e\u7aef\u53bb\u554a\uff0cloadpost\u9700\u8981\u4f20\u4e00\u4e2aname\u8fc7\u53bb\u554a\uff0cparam\u662f\u4ee3\u8868\u9700\u8981\u4f20\u7684\u53c2\u6570\u554a \u3002\u5c31\u662f\u90a3\u4e2aquerypageparam\u4e00\u8d77\u5c01\u88c5\u7684\u554ahashmap param\u60f3\u4f20\u4ec0\u4e48\u4f20\u4ec0\u4e48\uff0c<\/p>\n\n\n\n<p>3\u4e0b\u62c9\u6846<br>4.\u56de\u8f66\u4e8b\u4ef6\uff08\u67e5\u8be2\uff09@keyup.enter.native<br>5.\u91cd\u7f6e\u5904\u7406\uff1a\u65b0\u589e<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;el-input v-model=\"name\" placeholder=\"\u8bf7\u8f93\u5165\u540d\u5b57:\" suffix-icon=\"el-icon-search\" style=\"width:200px;\"\n       @keyup.enter.native=\"loadPost\"&gt;&lt;\/el-input&gt;&lt;!--Vue3\u8f93\u5165\u6846\u56de\u8f66\u4e8b\u4ef6\u7528@change=\"loadPostPage\",\u91cd\u7f6e\u53ea\u9700\u52a0 clearable\u5c5e\u6027--&gt;\n      &lt;el-select v-model=\"sex\" filterableplacehoLder=\"\u8bf7\u9009\u62e9\u6027\u522b\"&gt;\n        &lt;el-option\n            v-for=\"item in sexs\"\n            :key=\"item.value\"\n            :label=\"item.label\"\n            :value=\"item.value\"&gt;\n        &lt;\/el-option&gt;\n      &lt;\/el-select&gt;\n..................\n..................\n..................\nexport default{\n    name:\"AppMain\",\/*\u5176\u5b9e\u662f\u60f3\u6539\u6210MainComponent\u7684*\/\n    data() {\n      return {\n        tableData:&#91;],\n        pageSize:10,\n        pageNum:1,\n        total:0,\n        name:'',\n        sex:'',\n        sexs:&#91;\n          {\n            value:'1',\n            label:'\u7537'\n          },{\n            value:'0',\n            label:'\u5973'\n          }\n        ],\n      }\n    },<\/code><\/pre>\n\n\n\n<p>\u53ef\u4ee5\u4f18\u5316\uff0c\u83b7\u53d6\u5f53\u524d\u89e6\u53d1\u4e8b\u4ef6\u7684dom\u7684\u53c2\u6570\uff0c\u518d\u53bb\u6267\u884caxios\u8bf7\u6c42\uff0c\u4e0d\u7136\u6bcf\u6b21\u90fd\u8981\u7ed9\u540e\u7aef\u53d1\u9001\u4e00\u5927\u5806\u6570\u636e&nbsp;\uff0cusercontroller\u90e8\u5206C1\u5982\u4e0b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@PostMapping(\"\/listPageC1\")\n    \/\/public List&lt;User&gt;listPage(@RequestBody HashMap map){\n    public Result listPageC1(@RequestBody QueryPageParam query) {\n        HashMap param = query.getParam();\n        String name = (String) param.get(\"name\");\n        \/\/System.out.println(\"name===\" + (String) param.get(\"name\"));\n        String sex = (String) param.get(\"sex\");\n\n        Page&lt;User&gt; page = new Page();\n        page.setCurrent(query.getPageNum());\n        page.setSize(query.getPageSize());\n\n        LambdaQueryWrapper&lt;User&gt; lambdaQueryWrapper = new LambdaQueryWrapper();\n        if(StringUtils.isNotBlank(name)&amp;&amp;!\"null\".equals(name)) {\n            lambdaQueryWrapper.like(User::getName, name);\n        }\n        if(StringUtils.isNotBlank(sex)) {\n            lambdaQueryWrapper.eq(User::getSex, sex);\n        }\n        \/\/IPage result=userService.pageC(page);\n        IPage result=userService.pageCC(page,lambdaQueryWrapper);\n        System.out.println(\"total==\"+result.getTotal());\n\n        return Result.success(result.getRecords(),result.getTotal());\/\/\u63d0\u9192\uff0clistPageC1\u7684return\u8bb0\u5f97\u6539\n    }<\/code><\/pre>\n\n\n\n<p>&nbsp;Appmain.vue<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> &lt;div style=\"margin-left:5px\"&gt;\n      &lt;el-input v-model=\"name\" placeholder=\"\u8bf7\u8f93\u5165\u540d\u5b57:\" suffix-icon=\"el-icon-search\" style=\"width:200px;\"\n       @keyup.enter.native=\"loadPost\"&gt;&lt;\/el-input&gt;&lt;!--Vue3\u8f93\u5165\u6846\u56de\u8f66\u4e8b\u4ef6\u7528@change=\"loadPostPage\",\u91cd\u7f6e\u53ea\u9700\u52a0 clearable\u5c5e\u6027--&gt;\n      &lt;el-select v-model=\"sex\" filterableplacehoLder=\"\u8bf7\u9009\u62e9\u6027\u522b\" style=\"margin-left:5px\"&gt;\n        &lt;el-option\n              v-for=\"item in sexs\"\n              :key=\"item.value\"\n              :label=\"item.label\"\n              :value=\"item.value\"&gt;\n        &lt;\/el-option&gt;\n      &lt;\/el-select&gt;\n      &lt;el-button type =\"primary\" style=\"margin-left:5px\" @click=\"loadPost\"&gt;\u67e5\u8be2&lt;\/el-button&gt;\n      &lt;el-button type=\"success\" @click=\"resetParam\"&gt;\u91cd\u7f6e&lt;\/el-button&gt;&lt;!--\u91cd\u7f6e\u597d\u50cf\u5728input\u91cc\u9762\u6dfb\u52a0\u4e2aclearable\u53ef\u4ee5\u5b9e\u73b0\u540d\u5b57\u7684\u6e05\u7a7a;\u76f4\u63a5\u91cd\u7f6e\u63a5post\u5982\u4f55?--&gt;\n    &lt;\/div&gt;\n........................\n..........................\n..........................\n.....................methods\u4e2d\u6dfb\u52a0\u8fd9\u4e2a\nresetParam(){\n        this.name=''\n        this.sex=''\n      },<\/code><\/pre>\n\n\n\n<p>\u4ee3\u7801\u5df2\u7ecf\u76f8\u5f53\u4e0d\u9519\u4e86\uff0c\u4f46\u786e\u5b9e\u6709\u4e00\u4e9b\u5730\u65b9\u53ef\u4ee5\u4f18\u5316\u3002\u7279\u522b\u662f\u5173\u4e8e\u51cf\u5c11\u4e0d\u5fc5\u8981\u7684\u6570\u636e\u4f20\u8f93\uff0c\u53ef\u4ee5\u901a\u8fc7\u4f18\u5316\u524d\u7aef\u903b\u8f91\u6765\u5b9e\u73b0\u3002\u4e0b\u9762\u662f\u51e0\u4e2a\u5efa\u8bae\uff1a<\/p>\n\n\n\n<p>1. **\u52a8\u6001\u6784\u5efa\u8bf7\u6c42\u53c2\u6570**\uff1a<br>&nbsp; &nbsp;\u53ef\u4ee5\u901a\u8fc7\u4e00\u4e2a\u65b9\u6cd5\u6765\u52a8\u6001\u6784\u5efa\u8981\u53d1\u9001\u7ed9\u540e\u7aef\u7684\u6570\u636e\u5bf9\u8c61\uff0c\u8fd9\u6837\u53ef\u4ee5\u786e\u4fdd\u53ea\u6709\u7528\u6237\u5b9e\u9645\u66f4\u6539\u8fc7\u7684\u5b57\u6bb5\u624d\u4f1a\u5305\u542b\u5728\u8bf7\u6c42\u4e2d\u3002<\/p>\n\n\n\n<p>2. **\u4f7f\u7528\u8ba1\u7b97\u5c5e\u6027**\uff1a<br>&nbsp; &nbsp;\u5bf9\u4e8e\u90a3\u4e9b\u4f9d\u8d56\u4e8e\u5176\u4ed6\u6570\u636e\u53d8\u5316\u800c\u53d8\u5316\u7684\u6570\u636e\uff0c\u53ef\u4ee5\u8003\u8651\u4f7f\u7528\u8ba1\u7b97\u5c5e\u6027\uff08computed properties\uff09\uff0c\u8fd9\u53ef\u4ee5\u5e2e\u52a9\u51cf\u5c11\u4e0d\u5fc5\u8981\u7684\u6570\u636e\u5904\u7406\u3002<\/p>\n\n\n\n<p>3. **\u4e8b\u4ef6\u59d4\u6258**\uff1a<br>&nbsp; &nbsp;\u867d\u7136\u5728\u8fd9\u4e2a\u4f8b\u5b50\u4e2d\u5e76\u4e0d\u9002\u7528\uff0c\u4f46\u5728\u67d0\u4e9b\u60c5\u51b5\u4e0b\uff0c\u4f7f\u7528\u4e8b\u4ef6\u59d4\u6258\u53ef\u4ee5\u51cf\u5c11DOM\u76d1\u542c\u5668\u7684\u6570\u91cf\uff0c\u63d0\u9ad8\u6027\u80fd\u3002<\/p>\n\n\n\n<p>4. **\u4f18\u5316\u6309\u94ae\u64cd\u4f5c**\uff1a<br>&nbsp; &nbsp;\u4f60\u53ef\u4ee5\u5c06`loadPost`\u65b9\u6cd5\u7684\u8c03\u7528\u5c01\u88c5\u5728\u4e00\u4e2a\u65b0\u7684\u65b9\u6cd5\u4e2d\uff0c\u4ee5\u4fbf\u66f4\u597d\u5730\u63a7\u5236\u4f55\u65f6\u4ee5\u53ca\u5982\u4f55\u53d1\u9001\u8bf7\u6c42\u3002<\/p>\n\n\n\n<p>\u4ee5\u4e0b\u662f\u6839\u636e\u4e0a\u8ff0\u5efa\u8bae\u5bf9\u4f60\u7684\u4ee3\u7801\u8fdb\u884c\u7684\u4e00\u4e9b\u4f18\u5316\uff1a&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n&nbsp; &lt;div&gt;\n&nbsp; &nbsp; &lt;div style=\"margin-left:5px\"&gt;\n&nbsp; &nbsp; &nbsp; &lt;el-input v-model=\"searchParams.name\" placeholder=\"\u8bf7\u8f93\u5165\u540d\u5b57:\" suffix-icon=\"el-icon-search\" style=\"width:200px;\" @keyup.enter.native=\"fetchData\"&gt;&lt;\/el-input&gt;\n&nbsp; &nbsp; &nbsp; &lt;el-select v-model=\"searchParams.sex\" filterable placeholder=\"\u8bf7\u9009\u62e9\u6027\u522b\" style=\"margin-left:5px\"&gt;\n&nbsp; &nbsp; &nbsp; &nbsp; &lt;el-option\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; v-for=\"item in sexs\"\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :key=\"item.value\"\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :label=\"item.label\"\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :value=\"item.value\"&gt;\n&nbsp; &nbsp; &nbsp; &nbsp; &lt;\/el-option&gt;\n&nbsp; &nbsp; &nbsp; &lt;\/el-select&gt;\n&nbsp; &nbsp; &nbsp; &lt;el-button type=\"primary\" style=\"margin-left:5px\" @click=\"fetchData\"&gt;\u67e5\u8be2&lt;\/el-button&gt;\n&nbsp; &nbsp; &nbsp; &lt;el-button type=\"success\" @click=\"resetParams\"&gt;\u91cd\u7f6e&lt;\/el-button&gt;\n&nbsp; &nbsp; &lt;\/div&gt;\n&nbsp; &nbsp; &lt;el-table :data=\"tableData\" :header-cell-style=\"{background:'#e0ecf4',color:'#555'}\" border&gt;\n&nbsp; &nbsp; &nbsp; &lt;!-- \u8868\u683c\u5217\u5b9a\u4e49\u4fdd\u6301\u4e0d\u53d8 --&gt;\n&nbsp; &nbsp; &lt;\/el-table&gt;\n&nbsp; &nbsp; &lt;el-pagination\n&nbsp; &nbsp; &nbsp; @size-change=\"handleSizeChange\"\n&nbsp; &nbsp; &nbsp; @current-change=\"handleCurrentChange\"\n&nbsp; &nbsp; &nbsp; :current-page=\"currentPage\"\n&nbsp; &nbsp; &nbsp; :page-sizes=\"&#91;2, 5, 10, 20, 50]\"\n&nbsp; &nbsp; &nbsp; :page-size=\"pageSize\"\n&nbsp; &nbsp; &nbsp; layout=\"total, sizes, prev, pager, next, jumper\"\n&nbsp; &nbsp; &nbsp; :total=\"total\"&gt;\n&nbsp; &nbsp; &lt;\/el-pagination&gt;\n&nbsp; &lt;\/div&gt;\n&lt;\/template&gt;\n\n&lt;script&gt;\nexport default {\n&nbsp; name: \"MainComponent\",\n&nbsp; data() {\n&nbsp; &nbsp; return {\n&nbsp; &nbsp; &nbsp; tableData: &#91;],\n&nbsp; &nbsp; &nbsp; pageSize: 10,\n&nbsp; &nbsp; &nbsp; pageNum: 1,\n&nbsp; &nbsp; &nbsp; total: 0,\n&nbsp; &nbsp; &nbsp; searchParams: {\n&nbsp; &nbsp; &nbsp; &nbsp; name: '',\n&nbsp; &nbsp; &nbsp; &nbsp; sex: ''\n&nbsp; &nbsp; &nbsp; },\n&nbsp; &nbsp; &nbsp; sexs: &#91;\n&nbsp; &nbsp; &nbsp; &nbsp; { value: '1', label: '\u7537' },\n&nbsp; &nbsp; &nbsp; &nbsp; { value: '0', label: '\u5973' }\n&nbsp; &nbsp; &nbsp; ]\n&nbsp; &nbsp; };\n&nbsp; },\n&nbsp; methods: {\n&nbsp; &nbsp; fetchData() {\n&nbsp; &nbsp; &nbsp; const params = {\n&nbsp; &nbsp; &nbsp; &nbsp; pageSize: this.pageSize,\n&nbsp; &nbsp; &nbsp; &nbsp; pageNum: this.pageNum,\n&nbsp; &nbsp; &nbsp; &nbsp; ...this.searchParams \/\/ \u5c55\u5f00\u641c\u7d22\u53c2\u6570\u5bf9\u8c61\n&nbsp; &nbsp; &nbsp; };\n\n&nbsp; &nbsp; &nbsp; \/\/ \u8fc7\u6ee4\u6389\u503c\u4e3a\u7a7a\u7684\u53c2\u6570\uff0c\u907f\u514d\u5411\u540e\u7aef\u53d1\u9001\u591a\u4f59\u7684\u6570\u636e\n&nbsp; &nbsp; &nbsp; const filteredParams = Object.fromEntries(Object.entries(params).filter((&#91;_, v]) =&gt; v !== '' &amp;&amp; v !== null));\n\n&nbsp; &nbsp; &nbsp; this.$axios.post(this.$httpUrl + '\/user\/listPageC1', filteredParams)\n&nbsp; &nbsp; &nbsp; &nbsp; .then(res =&gt; res.data)\n&nbsp; &nbsp; &nbsp; &nbsp; .then(res =&gt; {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (res.code === 200) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.tableData = res.data;\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.total = res.total;\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } else {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; alert('\u83b7\u53d6\u6570\u636e\u5931\u8d25\uff01\u8bf7\u5237\u65b0\u9875\u9762');\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }\n&nbsp; &nbsp; &nbsp; &nbsp; });\n&nbsp; &nbsp; },\n&nbsp; &nbsp; resetParams() {\n&nbsp; &nbsp; &nbsp; this.searchParams.name = '';\n&nbsp; &nbsp; &nbsp; this.searchParams.sex = '';\n&nbsp; &nbsp; },\n&nbsp; &nbsp; handleSizeChange(val) {\n&nbsp; &nbsp; &nbsp; this.pageSize = val;\n&nbsp; &nbsp; &nbsp; this.pageNum = 1; \/\/ \u5207\u6362\u6bcf\u9875\u6570\u91cf\u65f6\u91cd\u7f6e\u9875\u7801\u4e3a\u7b2c\u4e00\u9875\n&nbsp; &nbsp; &nbsp; this.fetchData();\n&nbsp; &nbsp; },\n&nbsp; &nbsp; handleCurrentChange(val) {\n&nbsp; &nbsp; &nbsp; this.pageNum = val;\n&nbsp; &nbsp; &nbsp; this.fetchData();\n&nbsp; &nbsp; }\n&nbsp; },\n&nbsp; beforeMount() {\n&nbsp; &nbsp; this.fetchData();\n&nbsp; }\n};\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p>\u4e3b\u8981\u6539\u52a8\u70b9\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>- \u5c06\u67e5\u8be2\u6761\u4ef6\u96c6\u4e2d\u7ba1\u7406\u5230 `searchParams` \u5bf9\u8c61\u4e2d\uff0c\u4fbf\u4e8e\u7ba1\u7406\u548c\u4f20\u9012\u3002<\/li>\n\n\n\n<li>- \u5728 `fetchData` \u65b9\u6cd5\u4e2d\uff0c\u901a\u8fc7\u89e3\u6784\u8d4b\u503c\u548c\u8fc7\u6ee4\uff0c\u53ea\u53d1\u9001\u975e\u7a7a\u7684\u67e5\u8be2\u53c2\u6570\u7ed9\u540e\u7aef\u3002<\/li>\n\n\n\n<li>- \u4f7f\u7528 `fetchData` \u65b9\u6cd5\u7edf\u4e00\u5904\u7406\u6570\u636e\u52a0\u8f7d\uff0c\u7b80\u5316\u4e86\u4ee3\u7801\u903b\u8f91\u3002<\/li>\n\n\n\n<li>- \u4fee\u6539\u7ec4\u4ef6\u540d\u4e3a `MainComponent`\uff0c\u7b26\u5408\u4f60\u7684\u9700\u6c42\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u8fd9\u4e9b\u6539\u52a8\u5e94\u8be5\u80fd\u5e2e\u52a9\u4f60\u51cf\u5c11\u4e0d\u5fc5\u8981\u7684\u6570\u636e\u4f20\u8f93\uff0c\u5e76\u4f7f\u4ee3\u7801\u66f4\u52a0\u7b80\u6d01\u9ad8\u6548\u3002<\/p>\n\n\n\n<p>&nbsp;main\u7684\u5b8c\u6574\u4ee3\u7801<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;div&gt;\n    &lt;div style=\"margin-left:5px\"&gt;\n      &lt;el-input v-model=\"name\" placeholder=\"\u8bf7\u8f93\u5165\u540d\u5b57:\" suffix-icon=\"el-icon-search\" style=\"width:200px;\"\n            @keyup.enter.native=\"loadPost\"&gt;&lt;\/el-input&gt;\n      &lt;el-select v-model=\"sex\" filterableplacehoLder=\"\u8bf7\u9009\u62e9\u6027\u522b\" style=\"margin-left:5px\"&gt;\n        &lt;el-option\n            v-for=\"item in sexs\"\n            :key=\"item.value\"\n            :label=\"item.label\"\n            :value=\"item.value\"&gt;\n        &lt;\/el-option&gt;\n      &lt;\/el-select&gt;\n      &lt;el-button type =\"primary\" style=\"margin-left:5px\" @click=\"loadPost\"&gt;\u67e5\u8be2&lt;\/el-button&gt;\n      &lt;el-button type=\"success\" @click=\"resetParam\"&gt;\u91cd\u7f6e&lt;\/el-button&gt;\n    &lt;\/div&gt;\n    &lt;el-table :data=\"tableData\"\n              :header-cell-style=\"{background:'#f2f5fc',color:'#555'}\"\n              border\n    &gt;\n      &lt;el-table-column prop=\"id\" label=\"ID\" width=\"60\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"no\" label=\"\u8d26\u53f7\" width=\"120\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"name\" label=\"\u59d3\u540d\" width=\"80\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"age\" label=\"\u5e74\u9f84\" width=\"80\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"sex\" label=\"\u6027\u522b\" width=\"80\"&gt;\n        &lt;template slot-scope=\"scope\"&gt;\n          &lt;el-tag\n              :type=\"scope.row.sex === 1 ?'primary':'success'\"\n              disable-transitions&gt;{{ scope.row.sex === 1 ? '\u7537' : '\u5973' }}\n          &lt;\/el-tag&gt;\n        &lt;\/template&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"roleId\" label=\"\u89d2\u8272\" width=\"120\"&gt;\n        &lt;template slot-scope=\"scope\"&gt;\n          &lt;el-tag\n              :type=\"scope.row.roleId === 0 ?'danger':(scope.row.roleId === 1 ?'primary':'success')\"\n              disable-transitions&gt;\n            {{ scope.row.roleId === 0 ? '\u8d85\u7ea7\u7ba1\u7406\u5458' : (scope.row.roleId === 1 ? '\u7ba1\u7406\u5458' : '\u7528\u6237') }}\n          &lt;\/el-tag&gt;\n        &lt;\/template&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"phone\" label=\"\u7535\u8bdd\" width=\"120\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"operate\" label=\"\u64cd\u4f5c\"&gt;\n        &lt;el-button size=\"small\" type=\"success\"&gt;\u7f16\u8f91&lt;\/el-button&gt;\n        &lt;el-button size=\"small\" type=\"danger\"&gt;\u5220\u9664&lt;\/el-button&gt;\n      &lt;\/el-table-column&gt;\n    &lt;\/el-table&gt;\n    &lt;el-pagination\n        @size-change=\"handleSizeChange\"\n        @current-change=\"handleCurrentChange\"\n        :current-page=\"pageNum\"\n        :page-sizes=\"&#91;5, 10, 20,50]\"\n        :page-size=\"pageSize\"\n        layout=\"total, sizes, prev, pager, next, jumper\"\n        :total=\"total\"&gt;\n    &lt;\/el-pagination&gt;\n  &lt;\/div&gt;\n&lt;\/template&gt;\n\n&lt;style scoped&gt;\n\n&lt;\/style&gt;\n&lt;script&gt;\nexport default {\n  name: \"Main\",\n  data() {\n    return {\n      tableData:&#91;],\n      pageSize:10,\n      pageNum:1,\n      total:0,\n      name:'',\n      sex:'',\n      sexs:&#91;\n        {\n          value:'1',\n          label:'\u7537'\n        },{\n          value:'0',\n          label:'\u5973'\n        }\n      ],\n    }\n  },\n  methods: {\n    loadGet() {\n      this.$axios.get(this.$httpUrl + '\/user\/list').then(res =&gt; res.data).then(res =&gt; {\n        console.log(res)\n      })\n    },\n    loadPost() {\n      this.$axios.post(this.$httpUrl + '\/user\/listPageC1', {\n        pageSize:this.pageSize,\n        pageNum:this.pageNum,\n        param:{\n          name:this.name,\n          sex:this.sex\n        }\n      }).then(res =&gt; res.data).then(res =&gt; {\n        console.log(res)\n        if (res.code === 200) {\n          this.tableData = res.data\n          this.total=res.total\n        } else {\n          alert('\u83b7\u53d6\u6570\u636e\u5931\u8d25\uff01\u8bf7\u5237\u65b0\u9875\u9762')\n        }\n      })\n    },\n    resetParam(){\n      this.name=''\n      this.sex=''\n    },\n    handleSizeChange(val) {\n      console.log(`\u6bcf\u9875 ${val} \u6761`);\n      this.pageNum = 1\/\/\u8fd9\u4e2a\u9519\u8bef\u662f\u5148\u7ffb\u5230\u7b2c\u4e8c\u9875\u5728\u8c03\u9875\u9762\u6761\u6570\uff0c\u663e\u793a\u65e0\u6570\u636e\n      this.pageSize = val\n      this.loadPost()\n    },\n    handleCurrentChange(val) {\n      console.log(`\u5f53\u524d\u9875: ${val}`);\n      this.pageNum = val\n      this.loadPost()\n    }\n  },\n  beforeMount() {\n    \/\/ this.loadGet();\n    this.loadPost()\n  }\n}\n\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">\u5341\u4e5d\u3001\u65b0\u589e<\/h1>\n\n\n\n<p>1.\u65b0\u589e\u6309\u94ae<\/p>\n\n\n\n<p>2.\u5f39\u51fa\u7a97\u53e3\uff0c\u6dfb\u52a0\u5bf9centerDialogVisible\u7684\u5224\u5b9a\uff0c\u4ee5\u53ca\u5f39\u7a97<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> &lt;el-pagination\n        @size-change=\"handleSizeChange\"\n        @current-change=\"handleCurrentChange\"\n        :current-page=\"currentPage4\"\n        :page-sizes=\"&#91;2, 5, 10, 20, 50]\"\n        :page-size=\"pageSize\"\n        layout=\"total, sizes, prev, pager, next, jumper\"\n        :total=\"total\"&gt;\n    &lt;\/el-pagination&gt;\n    &lt;el-dialog\n        title=\"\u63d0\u793a\"\n        :visible.sync=\"centerDialogVisible\"\n        width=\"30%\"\n        center&gt;\n      &lt;span&gt;\u9700\u8981\u6ce8\u610f\u7684\u662f\u5185\u5bb9\u662f\u9ed8\u8ba4\u4e0d\u5c45\u4e2d\u7684&lt;\/span&gt;\n      &lt;span slot=\"footer\" class=\"dialog-footer\"&gt;\n        &lt;el-button @click=\"centerDialogVisible=false\"&gt;\u53d6\u6d88&lt;\/el-button&gt;\n        &lt;el-button type=\"primary\" @click=\"centerDialogVisible=false\"&gt;\u786e\u5b9a&lt;\/el-button&gt;\n  &lt;\/span&gt;\n    &lt;\/el-dialog&gt;\n  &lt;\/div&gt;\n&lt;\/template&gt;\n\n.................\n..................\n..................\nsexs: &#91;\n        {\n          value: '1',\n          label: '\u7537'\n        }, {\n          value: '0',\n          label: '\u5973'\n        }\n      ],\n      centerDialogVisible: false\n    }\n  },\n  methods: {\n    add() {\n      this.centerDialogVisible = true\n    },<\/code><\/pre>\n\n\n\n<p>3.\u7f16\u5199\u8868\u5355<a href=\"https:\/\/blog.csdn.net\/liu__yuan\/article\/details\/133203365\" target=\"_blank\"  rel=\"nofollow\" >vue\u9879\u76ee\u8868\u5355\u4e2d\u4f7f\u7528resetFields()\u62a5\u9519\u6216\u672a\u751f\u6548-CSDN\u535a\u5ba2<\/a><\/p>\n\n\n\n<p>4.\u63d0\u4ea4\u6570\u636e\uff08\u63d0\u793a\u4fe1\u606f\u3001\u5217\u8868\u5237\u65b0\uff09<\/p>\n\n\n\n<p>5.\u6570\u636e\u7684\u68c0\u67e5<\/p>\n\n\n\n<p>\u54ce\u5466wc\uff0c\u4e00\u5b9a\u4e00\u5b9a\u4e00\u5b9a\u8981\u6ce8\u610f\u554a\uff0cfrom\u548cform\u7531\u4e8e\u952e\u76d8\u624b\u5feb\u6253\u9519\u4e86\uff0c\u627e\u4e86\u62112hours\u7684bug\uff0ccnm<\/p>\n\n\n\n<p>AppMain.vue&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;div&gt;\n    &lt;div style=\"margin-left:5px\"&gt;\n      &lt;el-input v-model=\"name\" placeholder=\"\u8bf7\u8f93\u5165\u540d\u5b57:\" suffix-icon=\"el-icon-search\" style=\"width:200px;\"\n                @keyup.enter.native=\"loadPost\"&gt;&lt;\/el-input&gt;\n      &lt;el-select v-model=\"sex\" filterableplacehoLder=\"\u8bf7\u9009\u62e9\u6027\u522b\" style=\"margin-left:5px\"&gt;\n        &lt;el-option\n            v-for=\"item in sexs\"\n            :key=\"item.value\"\n            :label=\"item.label\"\n            :value=\"item.value\"&gt;\n        &lt;\/el-option&gt;\n      &lt;\/el-select&gt;\n      &lt;el-button type=\"primary\" style=\"margin-left:5px\" @click=\"loadPost\"&gt;\u67e5\u8be2&lt;\/el-button&gt;\n      &lt;el-button type=\"success\" @click=\"resetParam\"&gt;\u91cd\u7f6e&lt;\/el-button&gt;\n      &lt;el-button type=\"primary\" style=\"margin-left:5px\" @click=\"add\"&gt;\u65b0\u589e&lt;\/el-button&gt;\n    &lt;\/div&gt;\n    &lt;el-table :data=\"tableData\"\n              :header-cell-style=\"{background:'#f2f5fc',color:'#555'}\"\n              border\n    &gt;\n      &lt;el-table-column prop=\"id\" label=\"ID\" width=\"60\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"no\" label=\"\u8d26\u53f7\" width=\"120\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"name\" label=\"\u59d3\u540d\" width=\"80\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"age\" label=\"\u5e74\u9f84\" width=\"80\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"sex\" label=\"\u6027\u522b\" width=\"80\"&gt;\n        &lt;template slot-scope=\"scope\"&gt;\n          &lt;el-tag\n              :type=\"scope.row.sex === 1 ?'primary':'success'\"\n              disable-transitions&gt;{{ scope.row.sex === 1 ? '\u7537' : '\u5973' }}\n          &lt;\/el-tag&gt;\n        &lt;\/template&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"roleId\" label=\"\u89d2\u8272\" width=\"120\"&gt;\n        &lt;template slot-scope=\"scope\"&gt;\n          &lt;el-tag\n              :type=\"scope.row.roleId === 0 ?'danger':(scope.row.roleId === 1 ?'primary':'success')\"\n              disable-transitions&gt;\n            {{ scope.row.roleId === 0 ? '\u8d85\u7ea7\u7ba1\u7406\u5458' : (scope.row.roleId === 1 ? '\u7ba1\u7406\u5458' : '\u7528\u6237') }}\n          &lt;\/el-tag&gt;\n        &lt;\/template&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"phone\" label=\"\u7535\u8bdd\" width=\"120\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"operate\" label=\"\u64cd\u4f5c\"&gt;\n        &lt;el-button size=\"small\" type=\"success\"&gt;\u7f16\u8f91&lt;\/el-button&gt;\n        &lt;el-button size=\"small\" type=\"danger\"&gt;\u5220\u9664&lt;\/el-button&gt;\n      &lt;\/el-table-column&gt;\n    &lt;\/el-table&gt;\n    &lt;el-pagination\n        @size-change=\"handleSizeChange\"\n        @current-change=\"handleCurrentChange\"\n        :current-page=\"pageNum\"\n        :page-sizes=\"&#91;5, 10, 20, 50]\"\n        :page-size=\"pageSize\"\n        layout=\"total, sizes, prev, pager, next, jumper\"\n        :total=\"total\"&gt;\n    &lt;\/el-pagination&gt;\n    &lt;el-dialog\n        title=\"\u63d0\u793a\"\n        :visible.sync=\"centerDialogVisible\"\n        width=\"30%\"\n        center&gt;\n\n      &lt;el-form ref=\"form\" :rules=\"rules\" :model=\"form\" label-width=\"80px\"&gt;\n        &lt;el-form-item label=\"\u8d26\u53f7\" prop=\"no\"&gt;\n          &lt;el-col :span=\"20\"&gt;\n            &lt;el-input v-model=\"form.no\"&gt;&lt;\/el-input&gt;\n          &lt;\/el-col&gt;\n        &lt;\/el-form-item&gt;\n        &lt;el-form-item label=\"\u5bc6\u7801\" prop=\"password\"&gt;\n          &lt;el-col :span=\"20\"&gt;\n            &lt;el-input v-model=\"form.password\"&gt;&lt;\/el-input&gt;\n          &lt;\/el-col&gt;\n        &lt;\/el-form-item&gt;\n        &lt;el-form-item label=\"\u540d\u5b57\" prop=\"name\"&gt;\n          &lt;el-col :span=\"20\"&gt;\n            &lt;el-input v-model=\"form.name\"&gt;&lt;\/el-input&gt;\n          &lt;\/el-col&gt;\n        &lt;\/el-form-item&gt;\n        &lt;el-form-item label=\"\u5e74\u9f84\" prop=\"age\"&gt;\n          &lt;el-col :span=\"20\"&gt;\n            &lt;el-input v-model=\"form.age\"&gt;&lt;\/el-input&gt;\n          &lt;\/el-col&gt;\n        &lt;\/el-form-item&gt;\n        &lt;el-form-item label=\"\u6027\u522b\"&gt;\n          &lt;el-radio-group v-model=\"form.sex\"&gt;\n            &lt;el-radio label=\"1\"&gt;\u7537&lt;\/el-radio&gt;\n            &lt;el-radio label=\"0\"&gt;\u5973&lt;\/el-radio&gt;\n          &lt;\/el-radio-group&gt;\n        &lt;\/el-form-item&gt;\n        &lt;el-form-item label=\"\u7535\u8bdd\" prop=\"phone\"&gt;\n          &lt;el-col :span=\"20\"&gt;\n            &lt;el-input v-model=\"form.phone\"&gt;&lt;\/el-input&gt;\n          &lt;\/el-col&gt;\n        &lt;\/el-form-item&gt;\n      &lt;\/el-form&gt;\n\n      &lt;span slot=\"footer\" class=\"dialog-footer\"&gt;\n        &lt;el-button @click=\"centerDialogVisible=false\"&gt;\u53d6\u6d88&lt;\/el-button&gt;\n        &lt;el-button type=\"primary\" @click=\"save\"&gt;\u786e\u5b9a&lt;\/el-button&gt;\n  &lt;\/span&gt;\n    &lt;\/el-dialog&gt;\n  &lt;\/div&gt;\n&lt;\/template&gt;\n\n&lt;style scoped&gt;\n\n&lt;\/style&gt;\n&lt;script&gt;\nexport default {\n  name: \"Main\",\n  data() {\n    let checkAge = (rule, value, callback) =&gt; {\n      if (value &gt; 150) {\n        callback(new Error('\u5e74\u9f84\u592a\u5927\uff01lbd\u518d\u6765\u6211\u8ba9\u4f60\u98de\u8d77\u6765\uff01'));\n      } else {\n        callback();\n      }\n    };\n    let checkDuplicate = (rule, value, callback) =&gt; {\n      if (this.form.id) {\n        return callback();\n      }\n      this.$axios.get(this.$httpUrl+\"\/user\/findByNo?no=\" + this.form.no).then(res=&gt;res.data).then(res =&gt; {\n        if (res.code!== 200) {\/\/es6\u89e3\u6784\u4e5f\u53ef\u4ee5\n          callback();\n        } else {\n          callback(new Error('\u8d26\u53f7\u5df2\u7ecf\u5b58\u5728'));\n        }\n      });\n    };\n    return {\n      tableData: &#91;],\n      pageSize: 10,\n      pageNum: 1,\n      total: 0,\n      name: '',\n      sex: '',\n      sexs: &#91;\n        {\n          value: '1',\n          label: '\u7537'\n        }, {\n          value: '0',\n          label: '\u5973'\n        }\n      ],\n      centerDialogVisible: false,\n      form: {\n        name: '',\n        no: '',\n        age: '',\n        password: '',\n        phone: '',\n        sex: '0',\n        roleId: '1'\n      },\n      rules: {\n        no: &#91;\n          {required: true, message: '\u8bf7\u8f93\u5165\u8d26\u53f7', trigger: 'blur'},\n          {min: 3, max: 8, message: '\u957f\u5ea6\u57283-8\u4e2a\u5b57\u7b26', trigger: 'blur'},\n          {validator: checkDuplicate, trigger: 'blur'}\n        ],\n        name: &#91;\n          {required: true, message: '\u8bf7\u8f93\u5165\u540d\u5b57', trigger: 'blur'},\n        ],\n        password: &#91;\n          {required: true, message: '\u8bf7\u8f93\u5165\u5bc6\u7801', trigger: 'blur'},\n          {min: 4, max: 10, message: '\u957f\u5ea6\u57284-10\u4e2a\u5b57\u7b26\u4e4b\u95f4', trigger: 'blur'}\n        ],\n        age: &#91;\n          {required: true, message: '\u8bf7\u8f93\u5165\u5e74\u9f84', trigger: 'blur'},\n          {min: 1, max: 3, message: '\u957f\u5ea6\u57281\u52303\u4e2a\u4f4d', trigger: 'blur'},\n          {pattern: \/^(&#91;1-9]&#91;0-9]*){1,3}$\/, message: '\u5e74\u9f84\u5fc5\u987b\u4e3a\u6b63\u6574\u6570\u5b57', trigger: \"blur\"},\n          {validator: checkAge, trigger: 'blur'}\n        ],\n        phone: &#91;\n          {required: true, message: \"\u624b\u673a\u53f7\u4e0d\u80fd\u4e3a\u7a7a\", trigger: \"blur\"},\n          {pattern: \/^1&#91;3|4|5|6|7|8|9]&#91;0-9]\\d{8}$\/, message: \"\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u624b\u673a\u53f7\u7801\", trigger: \"blur\"}\n        ]\n      }\n    }\n  },\n  methods: {\n    add() {\n      this.centerDialogVisible = true\n      this.$nextTick(()=&gt;{\n        this.resetForm()\n      })\n    },\n    resetForm() {\n      this.centerDialogVisible = true\n      this.$refs.form.resetFields();\n    },\n    save(){\n      this.$refs.form.validate((valid) =&gt; {\n        if (valid) {\n          this.$axios.post(this.$httpUrl + '\/user\/save', this.form).then(res =&gt; res.data).then(res =&gt; {\n            console.log(res)\n            if (res.code === 200) {\n              this.$message({\n                message: '\u64cd\u4f5c\u6210\u529f!',\n                type: 'success'\n              });\n              this.centerDialogVisible = false\n              this.loadPost();\n              this.resetForm()\n            } else {\n              this.$message({\n                message: '\u64cd\u4f5c\u5931\u8d25!\u8bf7\u8fd4\u56de\u91cd\u65b0\u64cd\u4f5c...',\n                type: 'error'\n              });\n            }\n\n          });\n        } else {\n          console.log('error submit!!');\n          return false;\n        }\n      });\n    },\n    loadGet() {\n      this.$axios.get(this.$httpUrl + '\/user\/list').then(res =&gt; res.data).then(res =&gt; {\n        console.log(res)\n      })\n    },\n    loadPost() {\n      this.$axios.post(this.$httpUrl + '\/user\/listPageC1', {\n        pageSize: this.pageSize,\n        pageNum: this.pageNum,\n        param: {\n          name: this.name,\n          sex: this.sex\n        }\n      }).then(res =&gt; res.data).then(res =&gt; {\n        console.log(res)\n        if (res.code === 200) {\n          this.tableData = res.data\n          this.total = res.total\n        } else {\n          alert('\u83b7\u53d6\u6570\u636e\u5931\u8d25\uff01\u8bf7\u5237\u65b0\u9875\u9762')\n        }\n      })\n    },\n    resetParam() {\n      this.name = ''\n      this.sex = ''\n    },\n    handleSizeChange(val) {\n      console.log(`\u6bcf\u9875 ${val} \u6761`);\n      this.pageNum = 1\/\/\u8fd9\u4e2a\u9519\u8bef\u662f\u5148\u7ffb\u5230\u7b2c\u4e8c\u9875\u5728\u8c03\u9875\u9762\u6761\u6570\uff0c\u663e\u793a\u65e0\u6570\u636e\n      this.pageSize = val\n      this.loadPost()\n    },\n    handleCurrentChange(val) {\n      console.log(`\u5f53\u524d\u9875: ${val}`);\n      this.pageNum = val\n      this.loadPost()\n    }\n  },\n  beforeMount() {\n    \/\/ this.loadGet();\n    this.loadPost()\n  }\n}\n\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p>UserController.java\u90e8\u5206&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> @GetMapping(\"\/findByNo\")\n    public Result findByNo(@RequestParam String no) {\n        List list = userService.lambdaQuery().eq(User::getNo, no).list();\n        return list.size()&gt;0?Result.success(list):Result.fail();\n    }<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">\u7f16\u8f91<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;div&gt;\n    &lt;div style=\"margin-left:5px\"&gt;\n      &lt;el-input v-model=\"name\" placeholder=\"\u8bf7\u8f93\u5165\u540d\u5b57:\" suffix-icon=\"el-icon-search\" style=\"width:200px;\"\n                @keyup.enter.native=\"loadPost\"&gt;&lt;\/el-input&gt;&lt;!--Vue3\u8f93\u5165\u6846\u56de\u8f66\u4e8b\u4ef6\u7528@change=\"loadPostPage\",\u91cd\u7f6e\u53ea\u9700\u52a0 clearable\u5c5e\u6027--&gt;\n      &lt;el-select v-model=\"sex\" filterable placehoLder=\"\u8bf7\u9009\u62e9\u6027\u522b\" style=\"margin-left:5px\"&gt;\n        &lt;el-option\n            v-for=\"item in sexs\"\n            :key=\"item.value\"\n            :label=\"item.label\"\n            :value=\"item.value\"&gt;\n        &lt;\/el-option&gt;\n      &lt;\/el-select&gt;\n      &lt;el-button type=\"primary\" style=\"margin-left:5px\" @click=\"loadPost\"&gt;\u67e5\u8be2&lt;\/el-button&gt;\n      &lt;el-button type=\"success\" @click=\"resetParam\"&gt;\u91cd\u7f6e&lt;\/el-button&gt;\n      &lt;!--\u91cd\u7f6e\u597d\u50cf\u5728input\u91cc\u9762\u6dfb\u52a0\u4e2aclearable\u53ef\u4ee5\u5b9e\u73b0\u540d\u5b57\u7684\u6e05\u7a7a;\u76f4\u63a5\u91cd\u7f6e\u63a5post\u5982\u4f55?--&gt;\n      &lt;el-button type=\"primary\" style=\"margin-left:5px\" @click=\"add\"&gt;\u65b0\u589e&lt;\/el-button&gt;\n    &lt;\/div&gt;\n    &lt;el-table :data=\"tableData\"\n              :header-cell-style=\"{background:'#e0ecf4',color:'#555'}\"\n              border\n    &gt;\n      &lt;el-table-column prop=\"id\" label=\"ID\" width=\"60\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"no\" label=\"\u8d26\u53f7\" width=\"120\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"name\" label=\"\u59d3\u540d\" width=\"80\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"age\" label=\"\u5e74\u9f84\" width=\"80\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"sex\" label=\"\u6027\u522b\" width=\"80\"&gt;\n        &lt;template slot-scope=\"scope\"&gt;\n          &lt;el-tag\n              :type=\"scope.row.sex === 1 ?'primary':'success'\"\n              disable-transitions&gt;{{ scope.row.sex === 1 ? '\u7537' : '\u5973' }}\n          &lt;\/el-tag&gt;\n        &lt;\/template&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"roleId\" label=\"\u89d2\u8272\" width=\"120\"&gt;\n        &lt;template slot-scope=\"scope\"&gt;\n          &lt;el-tag\n              :type=\"scope.row.roleId === 0 ?'danger':(scope.row.roleId === 1 ?'primary':'success')\"\n              disable-transitions&gt;\n            {{ scope.row.roleId === 0 ? '\u8d85\u7ea7\u7ba1\u7406\u5458' : (scope.row.roleId === 1 ? '\u7ba1\u7406\u5458' : '\u7528\u6237') }}\n          &lt;\/el-tag&gt;\n        &lt;\/template&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"phone\" label=\"\u7535\u8bdd\" width=\"120\"&gt;\n      &lt;\/el-table-column&gt;\n\n      &lt;el-table-column prop=\"operate\" label=\"\u64cd\u4f5c\"&gt;\n        &lt;template slot-scope=\"scope\"&gt;\n        &lt;el-button size=\"small\" type=\"success\" @click=\"mod(scope.row)\"&gt;\u7f16\u8f91&lt;\/el-button&gt;\n        &lt;el-button size=\"small\" type=\"danger\" @click=\"del\"&gt;\u5220\u9664&lt;\/el-button&gt;\n        &lt;\/template&gt;\n      &lt;\/el-table-column&gt;\n    &lt;\/el-table&gt;\n    &lt;el-pagination\n        @size-change=\"handleSizeChange\"\n        @current-change=\"handleCurrentChange\"\n        :current-page=\"currentPage4\"\n        :page-sizes=\"&#91;2, 5, 10, 20, 50]\"\n        :page-size=\"pageSize\"\n        layout=\"total, sizes, prev, pager, next, jumper\"\n        :total=\"total\"&gt;\n    &lt;\/el-pagination&gt;\n    &lt;el-dialog\n        title=\"\u63d0\u793a\"\n        :visible.sync=\"centerDialogVisible\"\n        width=\"30%\"\n        center&gt;\n      &lt;el-form ref=\"form\" :rules=\"rules\" :model=\"form\" label-width=\"80px\"&gt;\n        &lt;el-form-item label=\"\u8d26\u53f7\" prop=\"no\"&gt;\n          &lt;el-col :span=\"20\"&gt;\n            &lt;el-input v-model=\"form.no\"&gt;&lt;\/el-input&gt;\n          &lt;\/el-col&gt;\n        &lt;\/el-form-item&gt;\n        &lt;el-form-item label=\"\u5bc6\u7801\" prop=\"password\"&gt;\n          &lt;el-col :span=\"20\"&gt;\n            &lt;el-input v-model=\"form.password\"&gt;&lt;\/el-input&gt;\n          &lt;\/el-col&gt;\n        &lt;\/el-form-item&gt;\n        &lt;el-form-item label=\"\u540d\u5b57\" prop=\"name\"&gt;\n          &lt;el-col :span=\"20\"&gt;\n            &lt;el-input v-model=\"form.name\"&gt;&lt;\/el-input&gt;\n          &lt;\/el-col&gt;\n        &lt;\/el-form-item&gt;\n        &lt;el-form-item label=\"\u5e74\u9f84\" prop=\"age\"&gt;\n          &lt;el-col :span=\"20\"&gt;\n            &lt;el-input v-model=\"form.age\"&gt;&lt;\/el-input&gt;\n          &lt;\/el-col&gt;\n        &lt;\/el-form-item&gt;\n        &lt;el-form-item label=\"\u6027\u522b\"&gt;\n          &lt;el-radio-group v-model=\"form.sex\"&gt;\n            &lt;el-radio label=\"1\"&gt;\u7537&lt;\/el-radio&gt;\n            &lt;el-radio label=\"0\"&gt;\u5973&lt;\/el-radio&gt;\n          &lt;\/el-radio-group&gt;\n        &lt;\/el-form-item&gt;\n        &lt;el-form-item label=\"\u7535\u8bdd\" prop=\"phone\"&gt;\n          &lt;el-col :span=\"20\"&gt;\n            &lt;el-input v-model=\"form.phone\"&gt;&lt;\/el-input&gt;\n          &lt;\/el-col&gt;\n        &lt;\/el-form-item&gt;\n      &lt;\/el-form&gt;\n\n      &lt;span slot=\"footer\" class=\"dialog-footer\"&gt;\n        &lt;el-button @click=\"centerDialogVisible=false\"&gt;\u53d6\u6d88&lt;\/el-button&gt;\n        &lt;el-button type=\"primary\" @click=\"save\"&gt;\u786e\u5b9a&lt;\/el-button&gt;\n  &lt;\/span&gt;\n    &lt;\/el-dialog&gt;\n  &lt;\/div&gt;\n&lt;\/template&gt;\n\n&lt;style scoped&gt;\n\n&lt;\/style&gt;\n\n&lt;script&gt;\nexport default {\n  name: \"AppMain\",\/*\u5176\u5b9e\u662f\u60f3\u6539\u6210MainComponent\u7684*\/\n  data() {\n    let checkAge = (rule, value, callback) =&gt; {\n      if (value &gt; 150) {\n        callback(new Error('\u5e74\u9f84\u592a\u5927\uff01lbd\u518d\u6765\u6211\u8ba9\u4f60\u98de\u8d77\u6765\uff01'));\n      } else {\n        callback();\n      }\n    };\n    let checkDuplicate = (rule, value, callback) =&gt; {\n      if (this.form.id) {\n        return callback();\n      }\n      this.$axios.get(this.$httpUrl+\"\/user\/findByNo?no=\" + this.form.no).then(res=&gt;res.data).then(res =&gt; {\n        if (res.code!== 200) {\/\/es6\u89e3\u6784\u4e5f\u53ef\u4ee5\n          callback();\n        } else {\n          callback(new Error('\u8d26\u53f7\u5df2\u7ecf\u5b58\u5728'));\n        }\n      });\n    };\n    return {\n      tableData: &#91;],\n      pageSize: 10,\n      pageNum: 1,\n      currentPage4: 1, \/\/ \u65b0\u589e\u8fd9\u4e00\u884c\u6765\u521d\u59cb\u5316 currentPage4 \u7684\u503c\n      total: 0,\n      name: '',\n      sex: '',\n      sexs: &#91;\n        {\n          value: '1',\n          label: '\u7537'\n        }, {\n          value: '0',\n          label: '\u5973'\n        }\n      ],\n      centerDialogVisible: false,\n      form: {\n        id:'',\n        name: '',\n        no: '',\n        age: '',\n        password: '',\n        phone: '',\n        sex: '0',\n        roleId: '2'\n      },\n      rules: {\n        no: &#91;\n          {required: true, message: '\u8bf7\u8f93\u5165\u8d26\u53f7', trigger: 'blur'},\n          {min: 3, max: 8, message: '\u957f\u5ea6\u57283-8\u4e2a\u5b57\u7b26', trigger: 'blur'},\n          {validator: checkDuplicate, trigger: 'blur'}\n        ],\n        name: &#91;\n          {required: true, message: '\u8bf7\u8f93\u5165\u540d\u5b57', trigger: 'blur'},\n        ],\n        password: &#91;\n          {required: true, message: '\u8bf7\u8f93\u5165\u5bc6\u7801', trigger: 'blur'},\n          {min: 4, max: 10, message: '\u957f\u5ea6\u57284-10\u4e2a\u5b57\u7b26\u4e4b\u95f4', trigger: 'blur'}\n        ],\n        age: &#91;\n          {required: true, message: '\u8bf7\u8f93\u5165\u5e74\u9f84', trigger: 'blur'},\n          {min: 1, max: 3, message: '\u957f\u5ea6\u57281\u52303\u4e2a\u4f4d', trigger: 'blur'},\n          {pattern: \/^(&#91;1-9]&#91;0-9]*){1,3}$\/, message: '\u5e74\u9f84\u5fc5\u987b\u4e3a\u6b63\u6574\u6570\u5b57', trigger: \"blur\"},\n          {validator: checkAge, trigger: 'blur'}\n        ],\n        phone: &#91;\n          {required: true, message: \"\u624b\u673a\u53f7\u4e0d\u80fd\u4e3a\u7a7a\", trigger: \"blur\"},\n          {pattern: \/^1&#91;3|4|5|6|7|8|9]&#91;0-9]\\d{8}$\/, message: \"\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u624b\u673a\u53f7\u7801\", trigger: \"blur\"}\n        ]\n      }\n    }\n  },\n  methods: {\n    resetForm() {\n      this.$refs.form.resetFields();\n    },\n    del(){\n      \n    },\n    mod(row){\n      \/\/this.form=row\u5c31\u53ef\u4ee5\u4e86\n      this.centerDialogVisible = true\n      this.$nextTick(()=&gt;{\n        this.form.id=row.id;\n        this.form.no=row.no;\n        this.form.name=row.name;\n        this.form.sex=row.sex+'';\n        this.form.age=row.age+'';\/\/\u8f6c\u5316\u6210\u5b57\u7b26\u4e32\u7c7b\u578b\n        this.form.phone=row.phone;\n        this.form.password='';\n        this.form.roleId=row.roleId;\n      })\/\/\u4fee\u6539User\u7684\u65f6\u5019\u8981\u786e\u4fdd\u8d26\u53f7\u4e0d\u80fd\u4fee\u6539\uff0c\u5426\u5219\u6709\u53ef\u80fd\u4f1a\u6570\u636e\u5e93\u5b58\u5728\u8d26\u53f7\u76f8\u540c\u7684\u60c5\u51b5\uff01\uff01\uff01\uff01\u7ed9\u8d26\u53f7\u7684input\u91cc\u52a0\u4e2av-bind:disabled=\"isDisabled\u201c,\u5982\u679c\u662f\u4fee\u6539\u5c31\u628aisDisabled\u8bbe\u7f6e\u4e3atrue\uff0c\u6dfb\u52a0\u5c31false\n    },\n    add() {\n      this.centerDialogVisible = true\n      this.$nextTick(()=&gt;{\n        this.resetForm()\n      })\n    },\n    doSave(){\n      this.$axios.post(this.$httpUrl + '\/user\/save', this.form).then(res =&gt; res.data).then(res =&gt; {\n        console.log(res)\n        if (res.code === 200) {\n          this.$message({\n            message: '\u64cd\u4f5c\u6210\u529f!',\n            type: 'success'\n          });\n          this.centerDialogVisible = false\n          this.loadPost();\n          this.resetForm()\n        } else {\n          this.$message({\n            message: '\u64cd\u4f5c\u5931\u8d25!\u8bf7\u8fd4\u56de\u91cd\u65b0\u64cd\u4f5c...',\n            type: 'error'\n          });\n        }\n\n      });\n    },\n    doMod(){\n      this.$axios.post(this.$httpUrl + '\/user\/update', this.form).then(res =&gt; res.data).then(res =&gt; {\n        console.log(res);\n        if (res.code == 200) {\n          this.$message({\n            message: '\u64cd\u4f5c\u6210\u529f\uff01',\n            type: 'success'\n          });\n          this.centerDialogVisible = false;\n          this.loadPost();\n          this.resetForm();\n        } else {\n          this.$message({\n            message: '\u64cd\u4f5c\u5931\u8d25\uff01',\n            type: 'error'\n          });\n        }\n      });\n    },\n    save() {\n      this.$refs.form.validate((valid) =&gt; {\n        if (valid) {\n          if(this.form.id){\n            this.doMod();\n          }\n          else{\n            this.doSave()\n          }\n\n        } else {\n          console.log('error submit!!');\n          return false;\n        }\n      });\n    },\n    loadGet() {\n      this.$axios.get(this.$httpUrl + '\/user\/list').then(res =&gt; res.data).then(res =&gt; {\n        console.log(res)\n      })\n    },\n    loadPost() {\n      this.$axios.post(this.$httpUrl + '\/user\/listPageC1', {\n        pageSize: this.pageSize,\n        pageNum: this.pageNum,\n        param: {\n          name: this.name,\n          sex: this.sex,\n        }\n      }).then(res =&gt; res.data).then(res =&gt; {\n        console.log(res)\n        if (res.code === 200) {\n          this.tableData = res.data\n          this.total = res.total\n        } else {\n          alert('\u83b7\u53d6\u6570\u636e\u5931\u8d25\uff01\u8bf7\u5237\u65b0\u9875\u9762')\n        }\n      })\n    },\n    resetParam() {\n      this.name = ''\n      this.sex = ''\n    },\n    handleSizeChange(val) {\n      console.log(`\u6bcf\u9875 ${val} \u6761`);\n      this.pageNum = 1\/\/\u8fd9\u4e2a\u9519\u8bef\u662f\u5148\u7ffb\u5230\u7b2c\u4e8c\u9875\u5728\u8c03\u9875\u9762\u6761\u6570\uff0c\u663e\u793a\u65e0\u6570\u636e\n      this.pageSize = val;\n      this.loadPost();\n    },\n    handleCurrentChange(val) {\n      console.log(`\u5f53\u524d\u9875: ${val}`);\n      this.pageNum = val\n      this.loadPost();\n    }\n\n  },\n  beforeMount() {\n    this.loadPost()\n  }\n}\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p>UserController.java\u90e8\u5206\u5185\u5bb9&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/\u65b0\u589e\n    @PostMapping(\"\/save\")\n    public Result save(@RequestBody User user) {\n        return userService.save(user)?Result.success():Result.fail();\n    }\n    \/\/\u66f4\u65b0\n    @PostMapping(\"\/update\")\n    public Result update(@RequestBody User user) {\n        return userService.updateById(user)?Result.success():Result.fail();\n    }\/\/\u4fee\u6539User\u7684\u65f6\u5019\u8981\u786e\u4fdd\u8d26\u53f7\u4e0d\u80fd\u4fee\u6539\uff0c\u5426\u5219\u6709\u53ef\u80fd\u4f1a\u6570\u636e\u5e93\u5b58\u5728\u8d26\u53f7\u76f8\u540c\u7684\u60c5\u51b5\uff01\uff01\uff01\uff01\u7ed9\u8d26\u53f7\u7684input\u91cc\u52a0\u4e2av-bind:disabled=\"isDisabled\u201c,\u5982\u679c\u662f\u4fee\u6539\u5c31\u628aisDisabled\u8bbe\u7f6e\u4e3atrue\uff0c\u6dfb\u52a0\u5c31false\n    \/\/\u4fee\u6539\n    @PostMapping(\"\/mod\")\n    public boolean mod(@RequestBody User user) {\n        return userService.updateById(user);\n    }\n\n    \/\/\u65b0\u589e\u6216\u4fee\u6539\n    @PostMapping(\"\/saveOrMod\")\n    public boolean saveOrMod(@RequestBody User user) {\n        return userService.saveOrUpdate(user);\n    }<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">\u5220\u9664<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>\n      &lt;el-table-column prop=\"operate\" label=\"\u64cd\u4f5c\"&gt;\n        &lt;template slot-scope=\"scope\"&gt;\n        &lt;el-button size=\"small\" type=\"success\" @click=\"mod(scope.row)\"&gt;\u7f16\u8f91&lt;\/el-button&gt;\n          &lt;el-popconfirm\n            title=\"\u786e\u5b9a\u5220\u9664\u5417\uff1f\"\n            @confirm=\"del(scope.row.id)\"\n            style=\"margin-left:8px;\"\n            &gt;\n            &lt;el-button slot=\"reference\" size=\"small\" type=\"danger\" &gt;\u5220\u9664&lt;\/el-button&gt;\n          &lt;\/el-popconfirm&gt;\n        &lt;\/template&gt;\n      &lt;\/el-table-column&gt;\n    &lt;\/el-table&gt;\n..............................\n..............................\n..............................\nmethods: {\n    resetForm() {\n      this.$refs.form.resetFields();\n    },\n    del(id){\n      this.$axios.get(this.$httpUrl + '\/user\/del?id='+id).then(res =&gt; res.data).then(res =&gt; {\n        console.log(res)\n        if (res.code === 200) {\n          this.$message({\n            message: '\u64cd\u4f5c\u6210\u529f!',\n            type: 'success'\n          });\n          this.loadPost();\n        } else {\n          this.$message({\n            message: '\u64cd\u4f5c\u5931\u8d25!\u8bf7\u8fd4\u56de\u91cd\u65b0\u64cd\u4f5c...',\n            type: 'error'\n          });\n        }\n      });\n    },\n    mod(row){\n      \/\/this.form=row\u5c31\u53ef\u4ee5\u4e86\n      this.centerDialogVisible = true\n      this.$nextTick(()=&gt;{\n        this.form.id=row.id;\n        this.form.no=row.no;\n        this.form.name=row.name;\n        this.form.sex=row.sex+'';\n        this.form.age=row.age+'';\/\/\u8f6c\u5316\u6210\u5b57\u7b26\u4e32\u7c7b\u578b\n        this.form.phone=row.phone;\n        this.form.password='';\n        this.form.roleId=row.roleId;\n      })\/\/\u4fee\u6539User\u7684\u65f6\u5019\u8981\u786e\u4fdd\u8d26\u53f7\u4e0d\u80fd\u4fee\u6539\uff0c\u5426\u5219\u6709\u53ef\u80fd\u4f1a\u6570\u636e\u5e93\u5b58\u5728\u8d26\u53f7\u76f8\u540c\u7684\u60c5\u51b5\uff01\uff01\uff01\uff01\u7ed9\u8d26\u53f7\u7684input\u91cc\u52a0\u4e2av-bind:disabled=\"isDisabled\u201c,\u5982\u679c\u662f\u4fee\u6539\u5c31\u628aisDisabled\u8bbe\u7f6e\u4e3atrue\uff0c\u6dfb\u52a0\u5c31false\n    },<\/code><\/pre>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" height=\"15\" src=\"blob:https:\/\/eve2333.top\/1bdff278-9ee7-4206-95de-3d31e9691a68\" width=\"15\"><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> \/\/\u5220\u9664\n    @GetMapping(\"\/del\")\n    public Result del(@RequestParam String id) {\n        return userService.removeById(id)?Result.success():Result.fail();\n    }<\/code><\/pre>\n\n\n\n<p>Main.vue<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;div&gt;\n    &lt;div style=\"margin-left:5px\"&gt;\n      &lt;el-input v-model=\"name\" placeholder=\"\u8bf7\u8f93\u5165\u540d\u5b57:\" suffix-icon=\"el-icon-search\" style=\"width:200px;\"\n                @keyup.enter.native=\"loadPost\"&gt;&lt;\/el-input&gt;\n      &lt;el-select v-model=\"sex\" filterableplacehoLder=\"\u8bf7\u9009\u62e9\u6027\u522b\" style=\"margin-left:5px\"&gt;\n        &lt;el-option\n            v-for=\"item in sexs\"\n            :key=\"item.value\"\n            :label=\"item.label\"\n            :value=\"item.value\"&gt;\n        &lt;\/el-option&gt;\n      &lt;\/el-select&gt;\n      &lt;el-button type=\"primary\" style=\"margin-left:5px\" @click=\"loadPost\"&gt;\u67e5\u8be2&lt;\/el-button&gt;\n      &lt;el-button type=\"success\" @click=\"resetParam\"&gt;\u91cd\u7f6e&lt;\/el-button&gt;\n      &lt;el-button type=\"primary\" style=\"margin-left:5px\" @click=\"add\"&gt;\u65b0\u589e&lt;\/el-button&gt;\n    &lt;\/div&gt;\n    &lt;el-table :data=\"tableData\"\n              :header-cell-style=\"{background:'#f2f5fc',color:'#555'}\"\n              border\n    &gt;\n      &lt;el-table-column prop=\"id\" label=\"ID\" width=\"60\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"no\" label=\"\u8d26\u53f7\" width=\"120\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"name\" label=\"\u59d3\u540d\" width=\"80\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"age\" label=\"\u5e74\u9f84\" width=\"80\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"sex\" label=\"\u6027\u522b\" width=\"80\"&gt;\n        &lt;template slot-scope=\"scope\"&gt;\n          &lt;el-tag\n              :type=\"scope.row.sex === 1 ?'primary':'success'\"\n              disable-transitions&gt;{{ scope.row.sex === 1 ? '\u7537' : '\u5973' }}\n          &lt;\/el-tag&gt;\n        &lt;\/template&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"roleId\" label=\"\u89d2\u8272\" width=\"120\"&gt;\n        &lt;template slot-scope=\"scope\"&gt;\n          &lt;el-tag\n              :type=\"scope.row.roleId === 0 ?'danger':(scope.row.roleId === 1 ?'primary':'success')\"\n              disable-transitions&gt;\n            {{ scope.row.roleId === 0 ? '\u8d85\u7ea7\u7ba1\u7406\u5458' : (scope.row.roleId === 1 ? '\u7ba1\u7406\u5458' : '\u7528\u6237') }}\n          &lt;\/el-tag&gt;\n        &lt;\/template&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"phone\" label=\"\u7535\u8bdd\" width=\"120\"&gt;\n      &lt;\/el-table-column&gt;\n      &lt;el-table-column prop=\"operate\" label=\"\u64cd\u4f5c\"&gt;\n        &lt;template slot-scope=\"scope\"&gt;\n          &lt;el-button size=\"small\" type=\"success\" @click=\"mod(scope.row)\"&gt;\u7f16\u8f91&lt;\/el-button&gt;\n          &lt;el-popconfirm\n              title=\"\u786e\u5b9a\u5220\u9664\u5417\uff1f\"\n              @confirm=\"del(scope.row.id)\"\n              style=\"margin-left:8px;\"\n          &gt;\n            &lt;el-button  slot=\"reference\" size=\"small\" type=\"danger\"&gt;\u5220\u9664&lt;\/el-button&gt;\n          &lt;\/el-popconfirm&gt;\n        &lt;\/template&gt;\n      &lt;\/el-table-column&gt;\n    &lt;\/el-table&gt;\n    &lt;el-pagination\n        @size-change=\"handleSizeChange\"\n        @current-change=\"handleCurrentChange\"\n        :current-page=\"pageNum\"\n        :page-sizes=\"&#91;5, 10, 20, 50]\"\n        :page-size=\"pageSize\"\n        layout=\"total, sizes, prev, pager, next, jumper\"\n        :total=\"total\"&gt;\n    &lt;\/el-pagination&gt;\n    &lt;el-dialog\n        title=\"\u63d0\u793a\"\n        :visible.sync=\"centerDialogVisible\"\n        width=\"30%\"\n        center&gt;\n\n      &lt;el-form ref=\"form\" :rules=\"rules\" :model=\"form\" label-width=\"80px\"&gt;\n        &lt;el-form-item label=\"\u8d26\u53f7\" prop=\"no\"&gt;\n          &lt;el-col :span=\"20\"&gt;\n            &lt;el-input v-model=\"form.no\"&gt;&lt;\/el-input&gt;\n          &lt;\/el-col&gt;\n        &lt;\/el-form-item&gt;\n        &lt;el-form-item label=\"\u5bc6\u7801\" prop=\"password\"&gt;\n          &lt;el-col :span=\"20\"&gt;\n            &lt;el-input v-model=\"form.password\"&gt;&lt;\/el-input&gt;\n          &lt;\/el-col&gt;\n        &lt;\/el-form-item&gt;\n        &lt;el-form-item label=\"\u540d\u5b57\" prop=\"name\"&gt;\n          &lt;el-col :span=\"20\"&gt;\n            &lt;el-input v-model=\"form.name\"&gt;&lt;\/el-input&gt;\n          &lt;\/el-col&gt;\n        &lt;\/el-form-item&gt;\n        &lt;el-form-item label=\"\u5e74\u9f84\" prop=\"age\"&gt;\n          &lt;el-col :span=\"20\"&gt;\n            &lt;el-input v-model=\"form.age\"&gt;&lt;\/el-input&gt;\n          &lt;\/el-col&gt;\n        &lt;\/el-form-item&gt;\n        &lt;el-form-item label=\"\u6027\u522b\"&gt;\n          &lt;el-radio-group v-model=\"form.sex\"&gt;\n            &lt;el-radio label=\"1\"&gt;\u7537&lt;\/el-radio&gt;\n            &lt;el-radio label=\"0\"&gt;\u5973&lt;\/el-radio&gt;\n          &lt;\/el-radio-group&gt;\n        &lt;\/el-form-item&gt;\n        &lt;el-form-item label=\"\u7535\u8bdd\" prop=\"phone\"&gt;\n          &lt;el-col :span=\"20\"&gt;\n            &lt;el-input v-model=\"form.phone\"&gt;&lt;\/el-input&gt;\n          &lt;\/el-col&gt;\n        &lt;\/el-form-item&gt;\n      &lt;\/el-form&gt;\n\n      &lt;span slot=\"footer\" class=\"dialog-footer\"&gt;\n        &lt;el-button @click=\"centerDialogVisible=false\"&gt;\u53d6\u6d88&lt;\/el-button&gt;\n        &lt;el-button type=\"primary\" @click=\"save\"&gt;\u786e\u5b9a&lt;\/el-button&gt;\n  &lt;\/span&gt;\n    &lt;\/el-dialog&gt;\n  &lt;\/div&gt;\n&lt;\/template&gt;\n\n&lt;style scoped&gt;\n\n&lt;\/style&gt;\n&lt;script&gt;\nexport default {\n  name: \"Main\",\n  data() {\n    let checkAge = (rule, value, callback) =&gt; {\n      if (value &gt; 150) {\n        callback(new Error('\u5e74\u9f84\u592a\u5927\uff01lbd\u518d\u6765\u6211\u8ba9\u4f60\u98de\u8d77\u6765\uff01'));\n      } else {\n        callback();\n      }\n    };\n    let checkDuplicate = (rule, value, callback) =&gt; {\n      if (this.form.id) {\n        return callback();\n      }\n      this.$axios.get(this.$httpUrl + \"\/user\/findByNo?no=\" + this.form.no).then(res =&gt; res.data).then(res =&gt; {\n        if (res.code !== 200) {\/\/es6\u89e3\u6784\u4e5f\u53ef\u4ee5\n          callback();\n        } else {\n          callback(new Error('\u8d26\u53f7\u5df2\u7ecf\u5b58\u5728'));\n        }\n      });\n    };\n    return {\n      tableData: &#91;],\n      pageSize: 10,\n      pageNum: 1,\n      total: 0,\n      name: '',\n      sex: '',\n      sexs: &#91;\n        {\n          value: '1',\n          label: '\u7537'\n        }, {\n          value: '0',\n          label: '\u5973'\n        }\n      ],\n      centerDialogVisible: false,\n      form: {\n        name: '',\n        no: '',\n        age: '',\n        password: '',\n        phone: '',\n        sex: '0',\n        roleId: '1'\n      },\n      rules: {\n        no: &#91;\n          {required: true, message: '\u8bf7\u8f93\u5165\u8d26\u53f7', trigger: 'blur'},\n          {min: 3, max: 8, message: '\u957f\u5ea6\u57283-8\u4e2a\u5b57\u7b26', trigger: 'blur'},\n          {validator: checkDuplicate, trigger: 'blur'}\n        ],\n        name: &#91;\n          {required: true, message: '\u8bf7\u8f93\u5165\u540d\u5b57', trigger: 'blur'},\n        ],\n        password: &#91;\n          {required: true, message: '\u8bf7\u8f93\u5165\u5bc6\u7801', trigger: 'blur'},\n          {min: 4, max: 10, message: '\u957f\u5ea6\u57284-10\u4e2a\u5b57\u7b26\u4e4b\u95f4', trigger: 'blur'}\n        ],\n        age: &#91;\n          {required: true, message: '\u8bf7\u8f93\u5165\u5e74\u9f84', trigger: 'blur'},\n          {min: 1, max: 3, message: '\u957f\u5ea6\u57281\u52303\u4e2a\u4f4d', trigger: 'blur'},\n          {pattern: \/^(&#91;1-9]&#91;0-9]*){1,3}$\/, message: '\u5e74\u9f84\u5fc5\u987b\u4e3a\u6b63\u6574\u6570\u5b57', trigger: \"blur\"},\n          {validator: checkAge, trigger: 'blur'}\n        ],\n        phone: &#91;\n          {required: true, message: \"\u624b\u673a\u53f7\u4e0d\u80fd\u4e3a\u7a7a\", trigger: \"blur\"},\n          {pattern: \/^1&#91;3|4|5|6|7|8|9]&#91;0-9]\\d{8}$\/, message: \"\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u624b\u673a\u53f7\u7801\", trigger: \"blur\"}\n        ]\n      }\n    }\n  },\n  methods: {\n    add() {\n      this.centerDialogVisible = true\n      this.$nextTick(() =&gt; {\n        this.resetForm()\n      })\n    },\n    mod(row) {\n      \/\/this.form=row\u5c31\u53ef\u4ee5\u4e86\n      this.centerDialogVisible = true\n      this.$nextTick(() =&gt; {\n        this.form.id = row.id;\n        this.form.no = row.no;\n        this.form.name = row.name;\n        this.form.sex = row.sex + '';\n        this.form.age = row.age + '';\/\/\u8f6c\u5316\u6210\u5b57\u7b26\u4e32\u7c7b\u578b\n        this.form.phone = row.phone;\n        this.form.password = '';\n        this.form.roleId = row.roleId;\n      })\/\/\u4fee\u6539User\u7684\u65f6\u5019\u8981\u786e\u4fdd\u8d26\u53f7\u4e0d\u80fd\u4fee\u6539\uff0c\u5426\u5219\u6709\u53ef\u80fd\u4f1a\u6570\u636e\u5e93\u5b58\u5728\u8d26\u53f7\u76f8\u540c\u7684\u60c5\u51b5\uff01\uff01\uff01\uff01\u7ed9\u8d26\u53f7\u7684input\u91cc\u52a0\u4e2av-bind:disabled=\"isDisabled\u201c,\u5982\u679c\u662f\u4fee\u6539\u5c31\u628aisDisabled\u8bbe\u7f6e\u4e3atrue\uff0c\u6dfb\u52a0\u5c31false\n    },\n    del(id) {\n      this.$axios.get(this.$httpUrl + '\/user\/del?id=' + id).then(res =&gt; res.data).then(res =&gt; {\n        console.log(res)\n        if (res.code === 200) {\n          this.$message({\n            message: '\u64cd\u4f5c\u6210\u529f!',\n            type: 'success'\n          });\n          this.loadPost();\n        } else {\n          this.$message({\n            message: '\u64cd\u4f5c\u5931\u8d25!\u8bf7\u8fd4\u56de\u91cd\u65b0\u64cd\u4f5c...',\n            type: 'error'\n          });\n        }\n      });\n    },\n    resetForm() {\n      this.centerDialogVisible = true\n      this.$refs.form.resetFields();\n    },\n    doSave() {\n      this.$axios.post(this.$httpUrl + '\/user\/save', this.form).then(res =&gt; res.data).then(res =&gt; {\n        console.log(res)\n        if (res.code === 200) {\n          this.$message({\n            message: '\u64cd\u4f5c\u6210\u529f!',\n            type: 'success'\n          });\n          this.centerDialogVisible = false\n          this.loadPost();\n          this.resetForm()\n        } else {\n          this.$message({\n            message: '\u64cd\u4f5c\u5931\u8d25!\u8bf7\u8fd4\u56de\u91cd\u65b0\u64cd\u4f5c...',\n            type: 'error'\n          });\n        }\n      });\n    },\n    doMod() {\n      this.$axios.post(this.$httpUrl + '\/user\/update', this.form).then(res =&gt; res.data).then(res =&gt; {\n        console.log(res);\n        if (res.code == 200) {\n          this.$message({\n            message: '\u64cd\u4f5c\u6210\u529f\uff01',\n            type: 'success'\n          });\n          this.centerDialogVisible = false;\n          this.loadPost();\n          this.resetForm();\n        } else {\n          this.$message({\n            message: '\u64cd\u4f5c\u5931\u8d25\uff01',\n            type: 'error'\n          });\n        }\n      });\n    },\n    save() {\n      this.$refs.form.validate((valid) =&gt; {\n        if (valid) {\n          if (this.form.id) {\n            this.doMod();\n          } else {\n            this.doSave();\n          }\n\n        } else {\n          console.log('error submit!!');\n          return false;\n        }\n      });\n    },\n    loadGet() {\n      this.$axios.get(this.$httpUrl + '\/user\/list').then(res =&gt; res.data).then(res =&gt; {\n        console.log(res)\n      })\n    },\n    loadPost() {\n      this.$axios.post(this.$httpUrl + '\/user\/listPageC1', {\n        pageSize: this.pageSize,\n        pageNum: this.pageNum,\n        param: {\n          name: this.name,\n          sex: this.sex\n        }\n      }).then(res =&gt; res.data).then(res =&gt; {\n        console.log(res)\n        if (res.code === 200) {\n          this.tableData = res.data\n          this.total = res.total\n        } else {\n          alert('\u83b7\u53d6\u6570\u636e\u5931\u8d25\uff01\u8bf7\u5237\u65b0\u9875\u9762')\n        }\n      })\n    },\n    resetParam() {\n      this.name = ''\n      this.sex = ''\n    },\n    handleSizeChange(val) {\n      console.log(`\u6bcf\u9875 ${val} \u6761`);\n      this.pageNum = 1\/\/\u8fd9\u4e2a\u9519\u8bef\u662f\u5148\u7ffb\u5230\u7b2c\u4e8c\u9875\u5728\u8c03\u9875\u9762\u6761\u6570\uff0c\u663e\u793a\u65e0\u6570\u636e\n      this.pageSize = val\n      this.loadPost()\n    },\n    handleCurrentChange(val) {\n      console.log(`\u5f53\u524d\u9875: ${val}`);\n      this.pageNum = val\n      this.loadPost()\n    }\n  },\n  beforeMount() {\n    \/\/ this.loadGet();\n    this.loadPost()\n  }\n}\n\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p>UserController.java<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>package com.wms.controller;\n\n\nimport com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;\nimport com.baomidou.mybatisplus.core.metadata.IPage;\nimport com.baomidou.mybatisplus.core.toolkit.StringUtils;\nimport com.baomidou.mybatisplus.extension.plugins.pagination.Page;\nimport com.wms.common.QueryPageParam;\nimport com.wms.common.Result;\nimport com.wms.entity.User;\nimport com.wms.service.UserService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.HashMap;\nimport java.util.List;\n\n\/**\n * &lt;p>\n * \u524d\u7aef\u63a7\u5236\u5668\n * &lt;\/p>\n *\n * @author wms\n * @since 2024-11-28\n *\/\n@RestController\n@RequestMapping(\"\/user\")\npublic class UserController {\n    @Autowired\n    private UserService userService;\n\n    @GetMapping(\"\/list\")\n    public List&lt;User> list() {\n        return userService.list();\n    }\n\n    \/\/\u65b0\u589e\n    @PostMapping(\"\/save\")\n    public Result save(@RequestBody User user) {\n        return userService.save(user)?Result.success():Result.fail();\n    }\n\n    \/\/\u66f4\u65b0\n    @PostMapping(\"\/update\")\n    public Result update(@RequestBody User user) {\n        return userService.updateById(user)?Result.success():Result.fail();\n    }\/\/\u4fee\u6539User\u7684\u65f6\u5019\u8981\u786e\u4fdd\u8d26\u53f7\u4e0d\u80fd\u4fee\u6539\uff0c\u5426\u5219\u6709\u53ef\u80fd\u4f1a\u6570\u636e\u5e93\u5b58\u5728\u8d26\u53f7\u76f8\u540c\u7684\u60c5\u51b5\uff01\uff01\uff01\uff01\u7ed9\u8d26\u53f7\u7684input\u91cc\u52a0\u4e2av-bind:disabled=\"isDisabled\u201c,\u5982\u679c\u662f\u4fee\u6539\u5c31\u628aisDisabled\u8bbe\u7f6e\u4e3atrue\uff0c\u6dfb\u52a0\u5c31false\n    \/\/\u4fee\u6539\n    @PostMapping(\"\/mod\")\n    public boolean mod(@RequestBody User user) {\n        return userService.updateById(user);\n    }\n\n    \/\/\u65b0\u589e\u6216\u4fee\u6539\n    @PostMapping(\"\/saveOrMod\")\n    public boolean saveOrMod(@RequestBody User user) {\n        return userService.saveOrUpdate(user);\n    }\n\n    \/\/\u5220\u9664\n    @GetMapping(\"\/delete\")\n    public boolean delete(Integer id) {\n        return userService.removeById(id);\n    }\n    \/\/\u5220\u9664\n    @GetMapping(\"\/del\")\n    public Result del(@RequestParam String id) {\n        return userService.removeById(id)?Result.success():Result.fail();\n    }\n\n    @GetMapping(\"\/findByNo\")\n    public Result findByNo(@RequestParam String no) {\n        List list = userService.lambdaQuery().eq(User::getNo, no).list();\n        return list.size()>0?Result.success(list):Result.fail();\n    }\n\n    \/\/\u67e5\u8be2\uff08\u6a21\u7cca\u3001\u5339\u914d\uff09\n    @PostMapping(\"\/listP\")\n    public Result listP(@RequestBody User user) {\n        LambdaQueryWrapper&lt;User> lambdaQueryWrapper = new LambdaQueryWrapper();\n        if(StringUtils.isNotBlank(user.getName())){\n            lambdaQueryWrapper.like(User::getName, user.getName());\n        }\n        \/\/lambdaQueryWrapper.like(User::getName, user.getName());\n        \/\/lambdaQueryWrapper.eq(User::getName, user.getName());\n        \/\/eq\u5c31\u662f\u5b8c\u5168\u5339\u914d\n        return Result.success(userService.list(lambdaQueryWrapper));\n    }\n\n    @PostMapping(\"\/listPage\")\n    public List&lt;User> listPage(@RequestBody QueryPageParam query) {\n        HashMap param = query.getParam();\n        String name = (String) param.get(\"name\");\n        System.out.println(\"name===\" + (String) param.get(\"name\"));\n\/*\n        HashMap param =query.getParam();\n        System.out.println(\"name===\"+(String)param.get(\"name\"));\n        System.out.println(\"no===\"+(String)param.get(\"no\"));\n        \/*LambdaQueryWrapper&lt;User>LambdaQueryWrapper=newLambdaQueryWrapper();\n        LambdaQueryWrapper.eq(User::getName,user.getName());\n        return userService.list(LambdaQueryWrapper);*\/\n\n        Page&lt;User> page = new Page();\n        page.setCurrent(query.getPageNum());\n        page.setSize(query.getPageSize());\n\n        LambdaQueryWrapper&lt;User> lambdaQueryWrapper = new LambdaQueryWrapper();\n        lambdaQueryWrapper.like(User::getName, name);\n\n        IPage result = userService.page(page, lambdaQueryWrapper);\n\n        System.out.println(\"total==\" + result.getTotal());\n\n\n        return result.getRecords();\n    }\n\n    @PostMapping(\"\/listPageC\")\n    \/\/public List&lt;User>listPage(@RequestBody HashMap map){\n    public List&lt;User> listPageC(@RequestBody QueryPageParam query) {\n        HashMap param = query.getParam();\n        String name = (String) param.get(\"name\");\n        System.out.println(\"name===\" + (String) param.get(\"name\"));\n\n        Page&lt;User> page = new Page();\n        page.setCurrent(query.getPageNum());\n        page.setSize(query.getPageSize());\n\n        LambdaQueryWrapper&lt;User> lambdaQueryWrapper = new LambdaQueryWrapper();\n        lambdaQueryWrapper.like(User::getName, name);\n        \/\/IPage result=userService.pageCC(page);\n        IPage result = userService.pageCC(page, lambdaQueryWrapper);\n\n        System.out.println(\"total==\" + result.getTotal());\n\n\n        return result.getRecords();\n    }\n\n    @PostMapping(\"\/listPageC1\")\n    \/\/public List&lt;User>listPage(@RequestBody HashMap map){\n    public Result listPageC1(@RequestBody QueryPageParam query) {\n        HashMap param = query.getParam();\n        String name = (String) param.get(\"name\");\n        String sex = (String) param.get(\"sex\");\n\n        Page&lt;User> page = new Page();\n        page.setCurrent(query.getPageNum());\n        page.setSize(query.getPageSize());\n\n        LambdaQueryWrapper&lt;User> lambdaQueryWrapper = new LambdaQueryWrapper();\n        if(StringUtils.isNotBlank(name)&amp;&amp;!\"null\".equals(name)) {\n            lambdaQueryWrapper.like(User::getName, name);\n        }\n        if(StringUtils.isNotBlank(sex)) {\n            lambdaQueryWrapper.eq(User::getSex, sex);\n        }\n        \/\/IPage result=userService.pageC(page);\n        IPage result=userService.pageCC(page,lambdaQueryWrapper);\n        System.out.println(\"total==\"+result.getTotal());\n\n        return Result.success(result.getRecords(),result.getTotal());\/\/\u63d0\u9192\uff0clistPageC1\u7684return\u8bb0\u5f97\u6539\n    }\n\n}<img loading=\"lazy\" decoding=\"async\" height=\"15\" width=\"15\" src=\"blob:https:\/\/eve2333.top\/4107013b-ec48-4337-b88c-f78c27a9edfd\"><\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u200b &nbsp;\u4e03\u3001\u521b\u5efa\u524d\u7aef\u9879\u76ee \u00a0 \u4f60\u4e0b\u8f7d\u4e86nodejs\u5417\uff1f\u4ececn\u5b98\u7f51\u4e0b\u8f7d\uff1ahttp:\/\/nodejs.cn\/download\/ &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"emotion":"","emotion_color":"","title_style":"","license":"","footnotes":""},"categories":[3],"tags":[19,20],"class_list":["post-735","post","type-post","status-publish","format-standard","hentry","category-3","tag-java","tag-20"],"_links":{"self":[{"href":"https:\/\/eve2333.top\/index.php?rest_route=\/wp\/v2\/posts\/735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eve2333.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eve2333.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eve2333.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eve2333.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=735"}],"version-history":[{"count":1,"href":"https:\/\/eve2333.top\/index.php?rest_route=\/wp\/v2\/posts\/735\/revisions"}],"predecessor-version":[{"id":743,"href":"https:\/\/eve2333.top\/index.php?rest_route=\/wp\/v2\/posts\/735\/revisions\/743"}],"wp:attachment":[{"href":"https:\/\/eve2333.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eve2333.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eve2333.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}