fix: 菜单图标字段 null 值守卫,补丁版本号 4.8.1

This commit is contained in:
Ray.Hao
2026-07-27 08:03:50 +08:00
parent 297d722719
commit f05c40bbf8
2 changed files with 130 additions and 130 deletions

View File

@@ -1,129 +1,129 @@
{
"name": "vue3-element-admin",
"description": "Vue3 + Vite + TypeScript + Element-Plus 的后台管理模板vue-element-admin 的 Vue3 版本",
"version": "4.8.0",
"private": true,
"type": "module",
"scripts": {
"dev": "vite",
"build": "vue-tsc --noEmit && vite build",
"preview": "vite preview",
"build-only": "vite build",
"type-check": "vue-tsc --noEmit",
"lint:eslint": "eslint --cache \"src/**/*.{vue,ts,js}\" --fix",
"lint:prettier": "prettier --write \"**/*.{js,cjs,ts,json,css,scss,vue,html,md}\"",
"lint:stylelint": "stylelint --cache \"**/*.{css,scss,vue}\" --fix",
"lint:lint-staged": "lint-staged",
"lint": "npm run lint:eslint && npm run lint:prettier && npm run lint:stylelint",
"preinstall": "npx only-allow pnpm",
"prepare": "husky",
"commit": "git-cz",
"deploy": "node deploy.mjs"
},
"config": {
"commitizen": {
"path": "node_modules/cz-git"
}
},
"lint-staged": {
"*.{js,ts}": [
"eslint --fix",
"prettier --write"
],
"*.{cjs,json}": [
"prettier --write"
],
"*.{vue,html}": [
"eslint --fix",
"prettier --write",
"stylelint --fix"
],
"*.{scss,css}": [
"stylelint --fix",
"prettier --write"
],
"*.md": [
"prettier --write"
]
},
"dependencies": {
"@element-plus/icons-vue": "^2.3.2",
"@vueuse/core": "^14.3.0",
"@wangeditor-next/editor": "^5.7.12",
"@wangeditor-next/editor-for-vue": "^5.1.14",
"animate.css": "^4.1.1",
"axios": "^1.18.0",
"codemirror": "^5.65.21",
"codemirror-editor-vue3": "^2.8.0",
"echarts": "^6.1.0",
"element-plus": "^2.14.2",
"exceljs": "^4.4.0",
"lodash-es": "^4.18.1",
"nprogress": "^0.2.0",
"path-browserify": "^1.0.1",
"path-to-regexp": "^8.4.2",
"pinia": "^3.0.4",
"qrcode": "^1.5.4",
"qs": "^6.15.2",
"sortablejs": "^1.15.7",
"vue": "^3.5.38",
"vue-draggable-plus": "^0.6.1",
"vue-i18n": "^11.4.6",
"vue-router": "^5.1.0",
"vxe-table": "~4.6.25"
},
"devDependencies": {
"@commitlint/cli": "^20.5.3",
"@commitlint/config-conventional": "^20.5.3",
"@eslint/js": "^10.0.1",
"@iconify/utils": "^3.1.3",
"@types/codemirror": "^5.60.17",
"@types/lodash-es": "^4.17.12",
"@types/node": "^26.0.0",
"@types/nprogress": "^0.2.3",
"@types/path-browserify": "^1.0.3",
"@types/qrcode": "^1.5.6",
"@types/qs": "^6.15.1",
"@types/sortablejs": "^1.15.9",
"@vitejs/plugin-vue": "^6.0.7",
"autoprefixer": "^10.5.0",
"commitizen": "^4.3.2",
"cz-git": "^1.13.1",
"eslint": "^10.5.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.6",
"eslint-plugin-vue": "^10.9.2",
"globals": "^17.6.0",
"husky": "^9.1.7",
"jiti": "^2.7.0",
"lint-staged": "^17.0.8",
"postcss": "^8.5.15",
"postcss-html": "^1.8.1",
"postcss-scss": "^4.0.9",
"prettier": "^3.8.4",
"sass": "^1.101.0",
"stylelint": "^17.13.0",
"stylelint-config-html": "^1.1.0",
"stylelint-config-recess-order": "^7.7.0",
"stylelint-config-recommended": "^18.0.0",
"stylelint-config-recommended-scss": "^17.0.1",
"stylelint-config-recommended-vue": "^1.6.1",
"stylelint-prettier": "^5.0.3",
"terser": "^5.48.0",
"typescript": "^5.9.3",
"typescript-eslint": "^8.61.1",
"unocss": "^66.7.2",
"unplugin-auto-import": "^21.0.0",
"unplugin-vue-components": "^32.1.0",
"vite": "8.0.6",
"vite-plugin-mock-dev-server": "^2.4.1",
"vue-eslint-parser": "^10.4.1",
"vue-tsc": "^3.3.5"
},
"engines": {
"node": "^20.19.0 || >=22.12.0"
},
"repository": "https://gitee.com/youlaiorg/vue3-element-admin.git",
"author": "有来开源组织",
"license": "MIT"
{
"name": "vue3-element-admin",
"description": "Vue3 + Vite + TypeScript + Element-Plus 的后台管理模板vue-element-admin 的 Vue3 版本",
"version": "4.8.1",
"private": true,
"type": "module",
"scripts": {
"dev": "vite",
"build": "vue-tsc --noEmit \u0026\u0026 vite build",
"preview": "vite preview",
"build-only": "vite build",
"type-check": "vue-tsc --noEmit",
"lint:eslint": "eslint --cache \"src/**/*.{vue,ts,js}\" --fix",
"lint:prettier": "prettier --write \"**/*.{js,cjs,ts,json,css,scss,vue,html,md}\"",
"lint:stylelint": "stylelint --cache \"**/*.{css,scss,vue}\" --fix",
"lint:lint-staged": "lint-staged",
"lint": "npm run lint:eslint \u0026\u0026 npm run lint:prettier \u0026\u0026 npm run lint:stylelint",
"preinstall": "npx only-allow pnpm",
"prepare": "husky",
"commit": "git-cz",
"deploy": "node deploy.mjs"
},
"config": {
"commitizen": {
"path": "node_modules/cz-git"
}
},
"lint-staged": {
"*.{js,ts}": [
"eslint --fix",
"prettier --write"
],
"*.{cjs,json}": [
"prettier --write"
],
"*.{vue,html}": [
"eslint --fix",
"prettier --write",
"stylelint --fix"
],
"*.{scss,css}": [
"stylelint --fix",
"prettier --write"
],
"*.md": [
"prettier --write"
]
},
"dependencies": {
"@element-plus/icons-vue": "^2.3.2",
"@vueuse/core": "^14.3.0",
"@wangeditor-next/editor": "^5.7.12",
"@wangeditor-next/editor-for-vue": "^5.1.14",
"animate.css": "^4.1.1",
"axios": "^1.18.0",
"codemirror": "^5.65.21",
"codemirror-editor-vue3": "^2.8.0",
"echarts": "^6.1.0",
"element-plus": "^2.14.2",
"exceljs": "^4.4.0",
"lodash-es": "^4.18.1",
"nprogress": "^0.2.0",
"path-browserify": "^1.0.1",
"path-to-regexp": "^8.4.2",
"pinia": "^3.0.4",
"qrcode": "^1.5.4",
"qs": "^6.15.2",
"sortablejs": "^1.15.7",
"vue": "^3.5.38",
"vue-draggable-plus": "^0.6.1",
"vue-i18n": "^11.4.6",
"vue-router": "^5.1.0",
"vxe-table": "~4.6.25"
},
"devDependencies": {
"@commitlint/cli": "^20.5.3",
"@commitlint/config-conventional": "^20.5.3",
"@eslint/js": "^10.0.1",
"@iconify/utils": "^3.1.3",
"@types/codemirror": "^5.60.17",
"@types/lodash-es": "^4.17.12",
"@types/node": "^26.0.0",
"@types/nprogress": "^0.2.3",
"@types/path-browserify": "^1.0.3",
"@types/qrcode": "^1.5.6",
"@types/qs": "^6.15.1",
"@types/sortablejs": "^1.15.9",
"@vitejs/plugin-vue": "^6.0.7",
"autoprefixer": "^10.5.0",
"commitizen": "^4.3.2",
"cz-git": "^1.13.1",
"eslint": "^10.5.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.6",
"eslint-plugin-vue": "^10.9.2",
"globals": "^17.6.0",
"husky": "^9.1.7",
"jiti": "^2.7.0",
"lint-staged": "^17.0.8",
"postcss": "^8.5.15",
"postcss-html": "^1.8.1",
"postcss-scss": "^4.0.9",
"prettier": "^3.8.4",
"sass": "^1.101.0",
"stylelint": "^17.13.0",
"stylelint-config-html": "^1.1.0",
"stylelint-config-recess-order": "^7.7.0",
"stylelint-config-recommended": "^18.0.0",
"stylelint-config-recommended-scss": "^17.0.1",
"stylelint-config-recommended-vue": "^1.6.1",
"stylelint-prettier": "^5.0.3",
"terser": "^5.48.0",
"typescript": "^5.9.3",
"typescript-eslint": "^8.61.1",
"unocss": "^66.7.2",
"unplugin-auto-import": "^21.0.0",
"unplugin-vue-components": "^32.1.0",
"vite": "8.0.6",
"vite-plugin-mock-dev-server": "^2.4.1",
"vue-eslint-parser": "^10.4.1",
"vue-tsc": "^3.3.5"
},
"engines": {
"node": "^20.19.0 || \u003e=22.12.0"
},
"repository": "https://gitee.com/youlaiorg/vue3-element-admin.git",
"author": "有来开源组织",
"license": "MIT"
}

View File

@@ -15,7 +15,7 @@ const props = withDefaults(
}
);
const isElementIcon = computed(() => props.icon.startsWith("el-icon"));
const elementIconName = computed(() => props.icon.replace("el-icon-", ""));
const isElementIcon = computed(() => (props.icon || "").startsWith("el-icon"));
const elementIconName = computed(() => (props.icon || "").replace("el-icon-", ""));
const svgIconClass = computed(() => `i-svg:${props.icon || "menu"}`);
</script>