qq_17811469 2023-08-01 11:06 采纳率: 60%
浏览 15
已结题

表单构建器实现下拉从远程动态取数据

问题遇到的现象和发生背景

我从gitee上下载了 RuoYi-flowable 在这个项目中 我希望表单配置功能里面的在线构建表单中的下拉菜单,可以动态的从后台获取数据,同时也能支持静态的配置下拉选项

尝试过的解决方法

我尝试过修改el-select.js 文件
代码如下:

  async options(h, conf, key) {
    const options = [];
    const config = conf.__config__;
    if (config.dataType && config.dataType === 'dynamic') {
      const resp = await requestApi(config.method, config.url)
      resp.data.forEach(item => {
        options.push(h({
          tag: 'el-option',
          props: {
            label: item[config.optionsLabel],
            value: item[config.optionsKey]
          }
        }));
      });

    } else {
      const slotOptions = conf.__slot__.options; // 使用动态插槽的内容,或者使用默认的选项配置
      slotOptions.forEach(item => {
        options.push(h({
          tag: 'el-option',
          props: {
            label: item.label,
            value: item.value,
            disabled: item.disabled
          }
        }));
      });
    }
    return options;
  }

我想要达到的结果

下图是我希望达到的效果

img


optionsKey,optionsLabel的意识如下图

img

我希望下图中的下拉可以从后台获取数据,实际上我已经从后端获取了数据,但是就是无法渲染出来,可能是因为异步请求的问题。但是我尝试了很多方法,解决不了

img

  • 写回答

5条回答 默认 最新

  • ZionHH 2023-08-01 14:24
    关注

    它有一个本地的配置文件,路径:\utils\generator\config.js

    img


    全局搜索selectComponents,这个是选择型组件的配置,可以看到有两个页面引用\views\tool\build\index.vue\views\tool\build\RightPanel.vue

    img


    可以尝试在页面获取数据后,对源配置数据进行修改

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 8月9日
  • 已采纳回答 8月1日
  • 创建了问题 8月1日