vben框架切换路由空白页问题

总而言之一句话,你的页面组件必须只能存在一个根元素, 有问题的写法如下:

<template>
    <FormModal />
    <Page auto-content-height>
      <Grid>
        <template #toolbar-actions>
          <Button class="mr-2" type="primary" @click="addRowEvent()">新增</Button>
        </template>
        <template #action="{ row }">
            <Button type="link" @click="editRowEvent(row)">编辑</Button>
        </template>
      </Grid>>
    </Page>
</template>

修改成下面的即可:

<template>
  <div>
    <FormModal />
    <Page auto-content-height>
      <Grid>
        <template #toolbar-actions>
          <Button class="mr-2" type="primary" @click="addRowEvent()">新增</Button>
        </template>
        <template #action="{ row }">
            <Button type="link" @click="editRowEvent(row)">编辑</Button>
        </template>
      </Grid>>
    </Page>
  </div>
</template>

这篇文章也有提到:https://blog.youkuaiyun.com/weixin_42229667/article/details/134289747

### 关于 Vben 框架的使用说明、文档与示例 Vben Admin 是基于 Vue 3 和 TypeScript 构建的一个现代化中后台解决方案,其设计目标是提供高效、灵活且可扩展的功能模块来满足不同规模项目的开发需求[^1]。以下是关于该框架的一些核心信息: #### 安装与配置 为了快速上手 Vben Admin,开发者可以通过官方提供的技术文档完成环境搭建和基础配置。通常情况下,推荐使用 Node.js 版本管理工具(如 nvm)确保兼容性,并按照以下命令初始化项目: ```bash npm install -g @vue/cli git clone https://github.com/vbenjs/vue-vben-admin.git cd vue-vben-admin npm install npm run dev ``` 上述流程涵盖了依赖项下载以及本地服务启动的过程。 #### 功能特性概述 - **UI 组件支持**: 基于 Ant Design Vue 实现的一系列高质量 UI 控件被集成到框架之中,从而简化了复杂交互逻辑的设计工作量[^3]。 - **路由权限控制**: 提供了一套完善的动态菜单生成机制及细粒度的角色授权方案,能够适应多租户场景下的安全访问需求。 - **国际化能力**: 内置 i18n 解决方案使得应用程序具备跨语言展示的能力,便于全球化部署。 #### 开发调试技巧 如果遇到像 VSCode 中无法跳转至函数定义这样的问题,则可能是因为缺少必要的插件或者未正确设置 workspace symbols indexers 所致[^2]。解决办法之一就是确认已激活如下几个关键扩展: - ESLint: JavaScript and JSX linter. - Vetur or Volar: For enhanced Vue language features support within editor. 另外还需注意 `.vscode/settings.json` 文件是否存在自定义规则覆盖默认行为的情况。 #### 示例代码片段 下面给出一段简单的登录表单验证示范程序,展示了如何利用 FormItemWrapper 封装 antd form item 来增强表单项属性绑定效率的同时保持语义清晰易读: ```javascript import { defineComponent } from 'vue'; import { useForm } from '/@/components/Form'; export default defineComponent({ setup() { const [registerForm, { validate }] = useForm({ schemas: [ { field: 'username', component: 'Input', label: '用户名' }, { field: 'password', component: 'Password', label: '密码' } ], actionColOptions: { span: 24 } }); function handleSubmit() { validate().then((values) => console.log(values)); } return { registerForm, handleSubmit }; }, render() { return ( <a-form {...this.registerForm}> <a-button onClick={this.handleSubmit}>提交</a-button> </a-form> ); } }); ``` 此段落中的 `useForm`, `schemas` 参数结构均来自 vben admin 自带 hooks 工具集。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值