feat: 迁移 Vue3 + Vite + view-ui-plus(对齐 NoticeFront 框架)
- 构建:Vue CLI 4 → Vite 5,入口迁至根 index.html(含 env-config + 主题通道 loader)
- 技术栈:Vue 2.6 → Vue 3.4,view-design → view-ui-plus 1.3.24,vue-router 3 → 4(hash)
- 壳层重写:App.vue / components/layout.vue 对齐 Notice 骨架(logo-badge、icon-* 通道图标、resolveMenuPage、crumb-home 基线)
- 机械转换:具名 slot → template #x、.sync → v-model:、@click.native、$set、beforeDestroy、/deep/ → :deep()
- render:h('Button')/h('Input') → 真组件 + 扁平 props/onClick
- 组件适配:vuedraggable 4 的 #item 插槽;vue-treeselect → @zanmato/vue3-treeselect;Page 分页改 v-model + pageSize 显式回写
- 清理:删除 Vue2 死代码(layout_old/bak/child、App.Net、codeModal、未引用组件)
- 修复:深链接首次加载被重定向到首个模块(router.isReady)
验证:vite build 通过;headless CDP 全 15 路由无异常;教师列表 2 行渲染、操作列按钮点击弹窗正常。
This commit is contained in:
+3
-3
@@ -43,15 +43,15 @@ export default {
|
||||
const loop = function (nodes, parentNode) {
|
||||
for (let node of nodes) {
|
||||
// 清空所有节点选中状态
|
||||
vueThis.$set(node, 'selected', false)
|
||||
node.selected = false
|
||||
|
||||
if (node.id === targetId) {
|
||||
// 目标节点设为选中
|
||||
vueThis.$set(node, 'selected', true)
|
||||
node.selected = true
|
||||
let p = parentNode
|
||||
// 逐层向上展开父节点
|
||||
while (p) {
|
||||
vueThis.$set(p, 'expand', true)
|
||||
p.expand = true
|
||||
p = p._parent
|
||||
}
|
||||
return true
|
||||
|
||||
Reference in New Issue
Block a user