baidu / amis

前端低代码框架,通过 JSON 配置就能生成各种页面。
https://baidu.github.io/amis/
Apache License 2.0
17.47k stars 2.53k forks source link

antd pro v6接入amis-editor-demo最新版报各种has already exists #8150

Open africa1207 opened 1 year ago

africa1207 commented 1 year ago

描述问题:

项目使用的ant design pro v6,按照目前amis-editor-demo最新版本进行集成,出现remark has already exists,也会出现"ae-formulacontrol" has already exists,配置过chainWebpack,代码如图

如何复现(请务必完整填写下面内容):

  1. 你是如何使用 amis 的? npm

  2. amis 版本是什么?请先在最新 beta 版本测试问题是否存在

    "amis": "3.4.0-beta.12",
    "amis-core": "3.4.0-beta.12",
    "amis-editor": "5.6.0-beta.0",
    "amis-editor-core": "5.6.0-beta.0",
    "amis-formula": "3.4.0-beta.12",
    "amis-ui": "3.4.0-beta.12",
-----------
   "monaco-editor-webpack-plugin": "6.0.0",
  1. 粘贴有问题的完整 amis schema 代码:
    chainWebpack: (config, { env, webpack }) => {
    //monaco 加载问题
    config
      .plugin('monaco')
      .use(
        new MonacoWebpackPlugin({ languages: ['json', 'javascript', 'css', 'html', 'typescript'] }),
      );
    // 解决Remark 重复注册问题
    config.merge({
      resolve: {
        conditionNames: ['require', 'node'],
      },
    });
    return config;
    },

    editor.tsx image

cscbeyond commented 9 months ago

我也遇到了同样的问题,我用的amis桶都是最新的6.1.0版本。想通过Renderer方法自定义组件,但是会报错Uncaught Error: The renderer with name "remark" has already exists, please try another name! 请问您解决了吗?

africa1207 commented 9 months ago

我也遇到了同样的问题,我用的amis桶都是最新的6.1.0版本。想通过Renderer方法自定义组件,但是会报错Uncaught Error: The renderer with name "remark" has already exists, please try another name! 请问您解决了吗?

我已经放弃了editor了

cscbeyond commented 9 months ago

我也遇到了同样的问题,我用的amis桶都是最新的6.1.0版本。想通过Renderer方法自定义组件,但是会报错Uncaught Error: The renderer with name "remark" has already exists, please try another name! 请问您解决了吗?

我已经放弃了editor了

大佬你后来选了什么方案?市面上有什么可平替的开源项目吗?

africa1207 commented 9 months ago

我也遇到了同样的问题,我用的amis桶都是最新的6.1.0版本。想通过Renderer方法自定义组件,但是会报错Uncaught Error: The renderer with name "remark" has already exists, please try another name! 请问您解决了吗?

我已经放弃了editor了

大佬你后来选了什么方案?市面上有什么可平替的开源项目吗?

我把editor单独开的项目跑,pro里面通过iframe去接入

cscbeyond commented 9 months ago

我也遇到了同样的问题,我用的amis桶都是最新的6.1.0版本。想通过Renderer方法自定义组件,但是会报错Uncaught Error: The renderer with name "remark" has already exists, please try another name! 请问您解决了吗?

我已经放弃了editor了

大佬你后来选了什么方案?市面上有什么可平替的开源项目吗?

我把editor单独开的项目跑,pro里面通过iframe去接入 这样的话还是没有解决自定义组件的问题呢😅 另外想问一下大佬,怎样获取生成的页面里填写的值呢?我是用amis来做个拖拽生成jsonSchema的系统,发现生成表单后不知道怎么取值

africa1207 commented 9 months ago

我也遇到了同样的问题,我用的amis桶都是最新的6.1.0版本。想通过Renderer方法自定义组件,但是会报错Uncaught Error: The renderer with name "remark" has already exists, please try another name! 请问您解决了吗?

我已经放弃了editor了

大佬你后来选了什么方案?市面上有什么可平替的开源项目吗?

我把editor单独开的项目跑,pro里面通过iframe去接入 这样的话还是没有解决自定义组件的问题呢😅 另外想问一下大佬,怎样获取生成的页面里填写的值呢?我是用amis来做个拖拽生成jsonSchema的系统,发现生成表单后不知道怎么取值

pro里面自定义组件是没问题的,只是集成editor会出现问题。至于获取表单值可以先拿到amisScoped实例然后通过amisScoped.getComponentByName('page1.form1').getValues()拿到值,参考https://baidu.github.io/amis/zh-CN/docs/start/getting-started#%E6%8E%A7%E5%88%B6-amis-%E7%9A%84%E8%A1%8C%E4%B8%BA

cscbeyond commented 9 months ago

我也遇到了同样的问题,我用的amis桶都是最新的6.1.0版本。想通过Renderer方法自定义组件,但是会报错Uncaught Error: The renderer with name "remark" has already exists, please try another name! 请问您解决了吗?

我已经放弃了editor了

大佬你后来选了什么方案?市面上有什么可平替的开源项目吗?

我把editor单独开的项目跑,pro里面通过iframe去接入 这样的话还是没有解决自定义组件的问题呢😅 另外想问一下大佬,怎样获取生成的页面里填写的值呢?我是用amis来做个拖拽生成jsonSchema的系统,发现生成表单后不知道怎么取值

pro里面自定义组件是没问题的,只是集成editor会出现问题。至于获取表单值可以先拿到amisScoped实例然后通过amisScoped.getComponentByName('page1.form1').getValues()拿到值,参考https://baidu.github.io/amis/zh-CN/docs/start/getting-started#%E6%8E%A7%E5%88%B6-amis-%E7%9A%84%E8%A1%8C%E4%B8%BA

好的好的,学习到了,非常感谢大佬!

huqingyun6969 commented 5 months ago

我也遇到了同样的问题,我用的amis桶都是最新的6.1.0版本。想通过Renderer方法自定义组件,但是会报错Uncaught Error: The renderer with name "remark" has already exists, please try another name! 请问您解决了吗?

老铁 你解决了没 ? 我也碰到这个问题 : Error: The renderer with name "remark" has already exists, please try another name! ▼ 6 stack frames were expanded. registerRenderer ./node_modules/amis-core/esm/factory.js:53 (anonymous function) ./node_modules/amis-core/esm/factory.js:33 __decorate ./node_modules/tslib/tslib.js:106 (anonymous function) ./node_modules/amis-editor-core/node_modules/amis/lib/renderers/Remark.js:95 ./node_modules/amis-editor-core/node_modules/amis/lib/renderers/Remark.js ./node_modules/amis-editor-core/node_modules/amis/lib/renderers/Remark.js:101 options.factory webpack:/webpack/runtime/react refresh:6 ▲ 6 stack frames were expanded.

huqingyun6969 commented 5 months ago

我也遇到了同样的问题,我用的amis桶都是最新的6.1.0版本。想通过Renderer方法自定义组件,但是会报错Uncaught Error: The renderer with name "remark" has already exists, please try another name! 请问您解决了吗?

老铁 你解决了没 ? 我也碰到这个问题 : Error: The renderer with name "remark" has already exists, please try another name! ▼ 6 stack frames were expanded. registerRenderer ./node_modules/amis-core/esm/factory.js:53 (anonymous function) ./node_modules/amis-core/esm/factory.js:33 __decorate ./node_modules/tslib/tslib.js:106 (anonymous function) ./node_modules/amis-editor-core/node_modules/amis/lib/renderers/Remark.js:95 ./node_modules/amis-editor-core/node_modules/amis/lib/renderers/Remark.js ./node_modules/amis-editor-core/node_modules/amis/lib/renderers/Remark.js:101 options.factory webpack:/webpack/runtime/react refresh:6 ▲ 6 stack frames were expanded.