Giter Club home page Giter Club logo

vben3's Introduction

VbenAdmin Logo

vben3 后台管理系统

English | 简体中文

简介

Vben3 是一个免费开源的中后台模版。使用了最新的vue3,vite4,TypeScript等主流技术开发,开箱即用的中后台前端解决方案,也可用于学习参考。

安装

git clone https://github.com/vbenjs/vben3.git
pnpm i 
pnpm dev

如何贡献

非常欢迎你的加入!提一个 Issue 或者提交一个 Pull Request。

详见贡献指南

许可证

Vben3 使用 MIT 协议开源

vben3's People

Contributors

13982720426 avatar 1514100951 avatar adoin avatar aonoa avatar cowbook avatar designhhuang avatar hormers avatar huanghonrui avatar jiangmaniu avatar jinmao88 avatar jobinjia avatar kirklin avatar kuizuo avatar leocarsons avatar likui628 avatar luoqiz avatar lzdjack avatar miofly avatar pzzyf avatar randyz avatar shixiawuheng avatar sugar258596 avatar sunhsl avatar tky753 avatar wangjue666 avatar whiplashcz avatar wleeming avatar wsypower avatar ya2glu avatar z0ffy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vben3's Issues

获取不到 table.getColumns();

⚠️ 重要 ⚠️ 在进一步操作之前,请检查下列选项。如果您忽视此模板或者没有提供关键信息,您的 Issue 将直接被关闭

  • 已阅读 文档.
  • 确保您的代码已是最新或者所报告的 Bug 在最新版本中可以重现. (部分 Bug 可能已经在最近的代码中修复)
  • 已在 Issues 中搜索了相关的关键词
  • 不是 ant design vue 组件库的 Bug

描述 Bug

watchEffect(() => {
setTimeout(() => {
const columns = table.getColumns();
console.log('columns watch');
console.log(columns);
if (columns.length && !state.isInit) {
console.log('来init了吗');
init();
}
}, 0);
});
代码中的这个如果换成延时1秒再执行,可以获取到数据,如果0秒执行,获取不到数据

复现 Bug

系统信息

  • 操作系统:
  • Node 版本:
  • 包管理器 (npm/yarn/pnpm) 及其版本:

Mac下依赖时候报错

.../[email protected]/node_modules/gifsicle postinstall$ node lib/install.js
│ ⚠ spawn Unknown system error -86
│ ⚠ gifsicle pre-build test failed
│ ℹ compiling from source
│ ✖ Error: Command failed: /bin/sh -c autoreconf -ivf
│ /bin/sh: autoreconf: command not found
│ at /Users/afe1/Desktop/vben3/node_modules/.pnpm/[email protected]/node_modules/execa/index.js:231:11
│ at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
│ at async Promise.all (index 0)
└─ Failed in 167ms at /Users/afe1/Desktop/vben3/node_modules/.pnpm/[email protected]/node_modules/gifsicle
 ELIFECYCLE  Command failed with exit code 1.

Table拖拽问题

⚠️ 重要 ⚠️ 在进一步操作之前,请检查下列选项。如果您忽视此模板或者没有提供关键信息,您的 Issue 将直接被关闭

  • 已阅读 文档.
  • 确保您的代码已是最新或者所报告的 Bug 在最新版本中可以重现. (部分 Bug 可能已经在最近的代码中修复)
  • 已在 Issues 中搜索了相关的关键词
  • 不是 ant design vue 组件库的 Bug

描述 Bug

Table组件缺少自定义行customRow的props

复现 Bug

image
在此添加customRow可解决

系统信息

  • 操作系统:
  • Node 版本:
  • 包管理器 (npm/yarn/pnpm) 及其版本:

除了导航栏模式为"顶部菜单栏模式",其他模式下鼠标移动到导航栏会报错

⚠️ 重要 ⚠️ 在进一步操作之前,请检查下列选项。如果您忽视此模板或者没有提供关键信息,您的 Issue 将直接被关闭

  • 已阅读 文档.
  • 确保您的代码已是最新或者所报告的 Bug 在最新版本中可以重现. (部分 Bug 可能已经在最近的代码中修复)
  • 已在 Issues 中搜索了相关的关键词
  • 不是 ant design vue 组件库的 Bug

描述 Bug

除了导航栏模式为"顶部菜单栏模式",其他模式下鼠标移动到导航栏会报错
image
image

复现 Bug

拉取最新代码并运行

系统信息

  • 操作系统:
  • Node 版本:
  • 包管理器 (npm/yarn/pnpm) 及其版本:

The table instance has not been obtained yet, please make sure the table is presented when performing the table operation!

问题描述:包裹在BasicModal中的BasicTable,开启BasicModal弹窗时报The table instance has not been obtained yet(尚未获取BasicTable实例),应该是因为加了watch监听在还没有实例化完成BasicTable时就调用了useTable解构出的reload()方法。

问题代码

<template>
  <BasicModal @register="registerModal">
    <BasicTable @register="registerTable" @row-click="handleRowClick">
    </BasicTable>
  </BasicModal>
</template>
<script lang="ts" setup>
    const [registerTable, { reload }] = useTable({
    
    })
     watch(() => [locateStore.customerName, locateStore.terminalCode, locateStore.userNumber], () => { reload() })
</script>

The table instance has not been obtained yet. 应该如何解决这种控制台报错?(如何判断table instance已实例化完成或如何在实例化完成后才watch监听)亦或是无需考虑vben3抛出的这种错误?

The field "pnpm" was found in /vben3/configs/vite/package.json. This will not take effect.

⚠️ IMPORTANT ⚠️ Please check the following list before proceeding. If you ignore this issue template, your issue will be directly closed.

  • Read the docs.
  • Make sure the code is up to date. (Some bugs have been fixed in the latest code)
  • This is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.

Describe the bug

pnpm run dev

image

Reproduction

Please describe the steps of the problem in detail to ensure that we can restore the correct problem

System Info

  • Operating System:
  • Node version:
  • Package manager (npm/yarn/pnpm) and version:

希望可以使用element作为ui库,而不是ant design vue

希望可以使用element作为ui库

希望可以使用element作为ui库,而不是ant design vue。
因为ant design vue 在实际生产中功能表现过于单一。

Problem

If the feature requests relates to a problem, please describe the problem you are trying to solve here.

Expected behaviour

What should happen? Please describe the desired behaviour.

Alternatives

What are the alternative solutions? Please describe what else you have considered?

代码不做修改build报错,运行正常

⚠️ IMPORTANT ⚠️ Please check the following list before proceeding. If you ignore this issue template, your issue will be directly closed.

  • Read the docs.
  • Make sure the code is up to date. (Some bugs have been fixed in the latest code)
  • This is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.

Describe the bug

  1. 不做任何修改,运行正常,但是打包错误(不管是npm run build 还是npm run turbo:build)
image 2. 运行成功截图 image

System Info

  • Operating System: mac
  • Node version: v16.20.0
  • Package manager (npm/yarn/pnpm) and version: pnpm 8.4.0

清空缓存并退出登陆页报错,页面不自动跳转

⚠️ 重要 ⚠️ 在进一步操作之前,请检查下列选项。如果您忽视此模板或者没有提供关键信息,您的 Issue 将直接被关闭

  • 已阅读 文档.
  • 确保您的代码已是最新或者所报告的 Bug 在最新版本中可以重现. (部分 Bug 可能已经在最近的代码中修复)
  • 已在 Issues 中搜索了相关的关键词
  • 不是 ant design vue 组件库的 Bug

描述 Bug

image

复现 Bug

拉取最新代码并运行

系统信息

  • 操作系统:
  • Node 版本:
  • 包管理器 (npm/yarn/pnpm) 及其版本:

The table instance has not been obtained yet, please make sure the table is presented when performing the table operation!

BasicTable报错
fetchSetting: {
// 传给后台的当前页字段
pageField: 'pagetNum',
// 传给后台的每页显示多少条的字段
sizeField: 'pageSize',
// 接口返回表格数据的字段
listField: 'pageRecords',
// 接口返回表格总数的字段
totalField: 'totalCount',
// 传给后台用于排序的字段
sortField: SORT_FIELD,
// 传给后台用于排序指定asc/desc的字段
orderField: ORDER_FIELD,
},
接口也是正常返回 突然就报错这个?不清楚什么原因

output files

我的需求是把生成的文件放在根目录,而不是apps下面。配置turbo如下,没有生效,看起来是turbo有问题还是turbo本身不支持?
outputs设置如下

{
  "$schema": "https://turborepo.org/schema.json",
  "pipeline": {
    "build": {
      "outputs": ["../../dist/**"],
      "dependsOn": ["^build"]
    },
    "clean": {
      "dependsOn": ["^clean"]
    },
    "test": {
      "dependsOn": ["^test"],
      "outputs": []
    },
    "dev": {
      "cache": false
    },
    "preview": {
      "cache": false
    }
  }
}

VbenForm组件应该与useForm解耦

VbenForm组件单独用的时候(<vben-form :rule="{...}">), rules 参数无效
因为对rules 特殊处理了,只有用useForm的时候才能正确传入

缺少依赖

当运行项目时,提示缺少依赖安装

[plugin:vite:import-analysis] Failed to resolve import "vite-plugin-mock/es/createProdMockServer" from "mock\_mock-server.ts". Does the file exist?
C:/study/vue/vben3/apps/admin/mock/_mock-server.ts:1:37
1  |  import * as __vite_glob_0_0 from "./auth.ts";import * as __vite_glob_0_1 from "./demo/form.ts";import * as __vite_glob_0_2 from "./demo/table.ts";import * as __vite_glob_0_3 from "./menu.ts";import { createProdMockServer } from "vite-plugin-mock/es/createProdMockServer";
   |                                                                                                                                                                                                                                       ^
2  |  const modules = /* #__PURE__ */ Object.assign({"./auth.ts": __vite_glob_0_0,"./demo/form.ts": __vite_glob_0_1,"./demo/table.ts": __vite_glob_0_2,"./menu.ts": __vite_glob_0_3});
3  |  const mockModules = [];
    at formatError (file:///C:/study/vue/vben3/node_modules/.pnpm/[email protected]/node_modules/vite/dist/node/chunks/dep-5e7f419b.js:41235:46)
    at TransformContext.error (file:///C:/study/vue/vben3/node_modules/.pnpm/[email protected]/node_modules/vite/dist/node/chunks/dep-5e7f419b.js:41231:19)
    at normalizeUrl (file:///C:/study/vue/vben3/node_modules/.pnpm/[email protected]/node_modules/vite/dist/node/chunks/dep-5e7f419b.js:39540:33)
    at async TransformContext.transform (file:///C:/study/vue/vben3/node_modules/.pnpm/[email protected]/node_modules/vite/dist/node/chunks/dep-5e7f419b.js:39673:47)
    at async Object.transform (file:///C:/study/vue/vben3/node_modules/.pnpm/[email protected]/node_modules/vite/dist/node/chunks/dep-5e7f419b.js:41506:30)
    at async loadAndTransform (file:///C:/study/vue/vben3/node_modules/.pnpm/[email protected]/node_modules/vite/dist/n

打包后部署问题:根据nginx配置子目录多项目部署基础路径问题,2使用useECharts导致页面空白

⚠️ 重要 ⚠️ 在进一步操作之前,请检查下列选项。如果您忽视此模板或者没有提供关键信息,您的 Issue 将直接被关闭

  • 已阅读 文档.
  • 确保您的代码已是最新或者所报告的 Bug 在最新版本中可以重现. (部分 Bug 可能已经在最近的代码中修复)
  • 已在 Issues 中搜索了相关的关键词
  • 不是 ant design vue 组件库的 Bug

描述 Bug

1、根据nginx配置子目录多项目部署,项目发布后静态路径没有变更配置文件中的基础路径
2、根据nginx配置子目录多项目部署,使用useECharts导致页面空白

复现 Bug

1.使用pnpm build 打包后部署至nginx子目录 静态文件无法访问
解决方式:打包时修改package.json 为 "build": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=8192 pnpm vite build --base=/***(nginx子目录名)/",
2.使用pnpm build 打包后部署至nginx子目录 进入首页空白
解决方式:直接弃用const { setOptions } = useECharts(chartRef as Ref); 写法 参照官方写法进行或是重新封装组件

系统信息

  • 操作系统:
  • Node 版本: v16.17.0
  • 包管理器 (npm/yarn/pnpm) 及其版本: pnpm v8.5.0

打包后报错: TypeError: Cannot destructure property 'currentRoute' of 't' as it is undefined.

⚠️ 重要 ⚠️ 在进一步操作之前,请检查下列选项。如果您忽视此模板或者没有提供关键信息,您的 Issue 将直接被关闭

  • 已阅读 文档.
  • 确保您的代码已是最新或者所报告的 Bug 在最新版本中可以重现. (部分 Bug 可能已经在最近的代码中修复)
  • 已在 Issues 中搜索了相关的关键词
  • 不是 ant design vue 组件库的 Bug

描述 Bug

将项目打包后进行preview,登录后页面空白,控制台报错:TypeError: Cannot destructure property 'currentRoute' of 't' as it is undefined.

复现 Bug

拉取main分支 ,可以直接复现

系统信息

  • 操作系统:
  • Node 版本:18.16.1
  • 包管理器 (npm/yarn/pnpm) 及其版本:pnpm :7.17.0

能不能支持3级路由

Subject of the feature

希望增加3级以上的路由

Problem

当前只支持二级,不知道三级路由有什么问题。

Expected behaviour

希望能增加3级路由

提个建议,能否不要过度封装?

  1. vben2就属于过度封装,组件自我造轮子,内部组件交叉引用,对框架进行改造难度很大。
  2. vben2太多地方造轮子,导致过于冗杂了,开发环境进入首页加载四百多个请求耗时几十秒的体验实在太差
  3. vben3是否能考虑下不要过度封装,把框架的部分和提供使用者部分隔离分开

系统支持主题定制

⚠️ 重要 ⚠️ 在进一步操作之前,请检查下列选项。如果您忽视此模板或者没有提供关键信息,您的 Issue 将直接被关闭

  • 已阅读 文档.
  • 确保您的代码已是最新或者所报告的 Bug 在最新版本中可以重现. (部分 Bug 可能已经在最近的代码中修复)
  • 已在 Issues 中搜索了相关的关键词
  • 不是 ant design vue 组件库的 Bug

描述 Bug

设置系统主题颜色\顶栏主题\菜单主题\灰色模式\色弱模式不工作

复现 Bug

拉取最新代码并运行

系统信息

  • 操作系统:
  • Node 版本:
  • 包管理器 (npm/yarn/pnpm) 及其版本:

TypeError: Cannot read properties of undefined (reading 'type')

Describe the bug

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'type') useMenuSetting.ts:34
at ReactiveEffect.fn (useMenuSetting.ts:34:65)
at ReactiveEffect.run (reactivity.esm-bundler.js:190:25)
at get value [as value] (reactivity.esm-bundler.js:1171:39)
at ReactiveEffect.fn (index.vue:19:23)
at ReactiveEffect.run (reactivity.esm-bundler.js:190:25)
at get value [as value] (reactivity.esm-bundler.js:1171:39)
at unref (reactivity.esm-bundler.js:1074:29)
at Object.get (reactivity.esm-bundler.js:1077:37)
at Proxy._sfc_render (index.vue:34:19)
at renderComponentRoot (runtime-core.esm-bundler.js:914:44)

const getMenuType = computed(() => configStore.getMenuSetting.type)

image

Reproduction

  1. clear Application localstorage
  2. refresh page
  3. user login

System Info

  • Operating System: win 11
  • Node version: v16.15.1
  • Package manager (npm/yarn/pnpm) and version: pnpm 8.6.12

项目配置失效

⚠️ IMPORTANT ⚠️ Please check the following list before proceeding. If you ignore this issue template, your issue will be directly closed.

  • Read the docs.
  • Make sure the code is up to date. (Some bugs have been fixed in the latest code)
  • This is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.

Describe the bug

项目配置除了主题设置外,其它配置均失效
image

Reproduction

Please describe the steps of the problem in detail to ensure that we can restore the correct problem

System Info

  • Operating System: win11
  • Node version: v16.15.1
  • Package manager (npm/yarn/pnpm) and version: pnpm 8.6.12

循环依赖问题

运行dev命令时出现异常
run failed: Invalid package dependency graph: cyclic dependency detected: @vben/stores,@vben/hooks

  • 操作系统: win11
  • Node 版本: 16.17
  • 包管理器 (npm/yarn/pnpm) 及其版本: pnpm 9.6

radio-group radio cannot be checked

Describe the bug

radio-group 中的 radio 点击后不会显示checked,但能正常显示focus,绑定v-model:value后也没反应

Reproduction

<script setup lang="ts>
  import { ref } from 'vue'
  import { NRadioGroup, NRadio } from 'naive-ui'
  const testRadioOptions = ref([
    {
      label: '1',
      value: '1'
    },
    {
      label: '2',
      value: '2'
    }
  ])
  const rValue = ref('1')
</script>
<template>
  <div>
    <n-radio-group v-model:value="rValue" name="radiogroup">
      <template v-for="song in testRadioOptions" :key="`${song.value}`">
        <n-radio :value="song.value" v-model:value="song.value" >
          {{ song.label }}
        </n-radio>
      </template>
    </n-radio-group>
  </div>
  <div>
    <vben-radio-group v-model:value="rValue" name="radiogroup2" :options="testRadioOptions"/>
  </div>
</template>

image
点击下面的2后,上面的2会check,但下面的不会check

System Info

  • Operating System: win11
  • Node version: v16.13.0
  • Package manager (pnpm) and version: 7.12.2

build error

RollupError: Could not resolve "../layouts/src/page/redirect/index.vue" from "../../packages/components/index.ts"

编译报错

右上角头像、设置那些没了

⚠️ 重要 ⚠️ 在进一步操作之前,请检查下列选项。如果您忽视此模板或者没有提供关键信息,您的 Issue 将直接被关闭

  • 已阅读 文档.
  • 确保您的代码已是最新或者所报告的 Bug 在最新版本中可以重现. (部分 Bug 可能已经在最近的代码中修复)
  • 已在 Issues 中搜索了相关的关键词
  • 不是 ant design vue 组件库的 Bug

描述 Bug

image

应该是这样:
image

复现 Bug

拉取最新代码运行

系统信息

  • 操作系统:
  • Node 版本:
  • 包管理器 (npm/yarn/pnpm) 及其版本:

清理旧代码与无效代码

Subject of the feature

清理旧代码与无效代码

Problem

代码从之前的版本重构修改,里面遗留了很多陈旧的代码,很多不再使用的代码只是简单的注释掉,还有些相同功能的代码放在多个文件中,这会给后面开发的人造成很大的困惑

Expected behaviour

代码干净整洁

createViteConfig 能否改为返回 Promise<UserConfig>

Subject of the feature

createViteConfig 能否改为返回 Promise<UserConfig>

Problem

我有多个app需要通过 @originjs/vite-plugin-federation 插件来共享代码,
不同app vite的plugin配置都有差别,用现在的@config/vite/createViteConfig 方法,很难把plugin参数传进去

Alternatives

能否这样改:

// \configs\vite\src\index.ts
export async function createViteConfig(
  command: 'build' | 'serve',
  mode: string,
  cwd: string,
  { preset }: { preset: PresetType },
): Promise<UserConfig> {
    ......
}

//vite.config.ts
export default defineConfig(async ({ command, mode }) => {
    const cfg = await createViteConfig(command, mode, process.cwd(), { preset: 'naive' })
    ......
    return cfg
})

expose original component of vbenComponents

Subject of the feature

vben component 能否提供方法 access 实际 component
类似于:

<script lang="ts" setup>
  import { maps } from '#/index'
  const Xxx= maps.get('Xxx')
  const originRef = ref(null)
  defineExpose(
    {
      origin: originRef 
    }
  )
</script>
<template>
  <Xxx ref="originRef">
    ...
  </Xxx>
</template>

关于@vben/vbencomponents和naiveui的处理方案建议

注意到您项目中剥离了用到的组件,放入了@vben/vbencomponents中
admin app中直接载入了navieui。

这是一种很好的剥离依赖的思路,但是对于组件的使用就限制死了navieui,这个其实有点得不偿失。提供一种基于driver的思路,供您参考。目前正基于这种思路调整现有模版的实现。需要的话可以提供具体实现的pr

  1. @vben/vbencomponents作为应用引入的标准,只规范使用的方式和相关协议
  2. 创建@vben/components-driver,用来支持组件库的插拔机制
/**
 * 基础Builder
 */
export abstract class BaseBuilder implements CornerstoneComponentBuilder {
  public bridge: CornerstoneComponentBridge;
  constructor(bridge: CornerstoneComponentBridge) {
    this.bridge = bridge;
  }

  /**
   * 获取组件Bridge
   * @returns {CornerstoneComponentBridge}
   */
  componentBridge(): CornerstoneComponentBridge {
    return this.bridge;
  }

  async enableAll(): Promise<CornerstoneComponentBridge> {
    await this.installAllComponetToVue(this.bridge.app);
    return this.finish();
  }

  finish(): CornerstoneComponentBridge {
    return this.bridge;
  }
  /**
   * 注册组件
   * @param entry 组件属性元组
   * @returns {CornerstoneComponentBuilder}
   */
  registerComponent(entry: ComponentEntry): CornerstoneComponentBuilder {
    this.bridge.componentMap.set(entry.key, entry.value);
    return this;
  }

  /**
   * 安装全部组件到Vue实例中
   * @param app Vue application
   * @returns {Promise<void>}
   */
  abstract installAllComponetToVue(app: App): Promise<void>;

  /**
   * @override
   */
  abstract enableSwitch(app?: App): CornerstoneComponentBuilder;
}
  1. 实现@vben/components-driver-navieui@vben/components-driver-antdv两个库,基于@vben/components-driver开发的插拔标准,分别依据@vben/vbencomponents的使用标准来实现对接库
<script lang="ts" setup name="AntSwitch">
import { Switch } from 'ant-design-vue';
console.log('AntSwitch', Switch);
const adaptSlotName = (name: string):string => {
  console.log('adaptSlotName1', name);
  switch (name) {
    case 'checked-icon':
      return 'checkedChildren';
    case 'unchecked-icon':
      return 'unCheckedChildren';
    default:
      return name;
  }
};
</script>
<template>
  <Switch v-bind="$attrs">
    <template v-for="item in Object.keys($slots)" #[`${adaptSlotName(item)}`]="data" :key="item">
      <slot :name="item" v-bind="data || {}"></slot>
    </template>
  </Switch>
</template>

有没有qq 微信交流群 discord被封了

⚠️ 重要 ⚠️ 在进一步操作之前,请检查下列选项。如果您忽视此模板或者没有提供关键信息,您的 Issue 将直接被关闭

  • 已阅读 文档.
  • 确保您的代码已是最新或者所报告的 Bug 在最新版本中可以重现. (部分 Bug 可能已经在最近的代码中修复)
  • 已在 Issues 中搜索了相关的关键词
  • 不是 ant design vue 组件库的 Bug

描述 Bug

请清晰地描述此 Bug 的具体表现。

复现 Bug

请描述在演示页面中复现 Bug 的详细步骤,以确保我们可以理解并定位问题。部分 Bug 如果未在 Demo 中涉及,请务必提供关键代码

系统信息

  • 操作系统:
  • Node 版本:
  • 包管理器 (npm/yarn/pnpm) 及其版本:

husky 移除之后, lintstage 怎么触发?

⚠️ IMPORTANT ⚠️ Please check the following list before proceeding. If you ignore this issue template, your issue will be directly closed.

  • Read the docs.
  • Make sure the code is up to date. (Some bugs have been fixed in the latest code)
  • This is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.

Describe the bug

A clear and concise description of what the bug is..

Reproduction

Please describe the steps of the problem in detail to ensure that we can restore the correct problem

System Info

  • Operating System:
  • Node version:
  • Package manager (npm/yarn/pnpm) and version:

不限制ui是不是应该加一个适配层,或者说意义并不大,而且还阻碍了开发进度

Subject of the feature

  1. 不现在ui是一个好东西,但是这个开发适配成本很高

Problem

  1. 虽然几个框架就那么几个组件,但是组件使用各有一点区别
  2. 如果无法做到无缝切换是不是意味着只是基础与ui无关的部分不需要改动,但是一但换ui就意味着业务系统相关的东西都需要改动
  3. 我觉得如果真要做不现在ui应该出一个适配层,通过适配层与各种ui打交道,也就是需要屏蔽各种ui的特性,统一转换为一种通用特性或者字段信息
  4. 如果无法保证业务代码无缝切换,真的真的没啥意义,但是一但需要包装业务代码能无缝切换,那就意味着必须得ui部分加一层
    具体结构应该如下:
image

说句不好听的,个人觉得意义不大,就是现在的naive-ui我随便切换一个全部错位了,因为ui组件对应的layout menu设置属性字段变了

FoldButton功能无效

Describe the bug

展开菜单没有隐藏,FoldButton图标没有变化
image
想要还原只能重置

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.