开发者社区> 问答> 正文

宜搭自定义界面部门组件如何获取相对应的表单部门组件信息

宜搭自定义界面部门组件怎么获取到对应数据的表单的部门组件的信息,这边自定义部门组件的默认值设置成这样
state.departmentDB ? [{
"text": state.departmentDB,
"value": state.departmentDBid
}] : [{
"value": "",
"text": ""
}]
获取到的格式和表单部门的组件格式不一样,这样如果没修改点提交的话传回去因为没有匹配,所以部门就会变成空

展开
收起
游客2hju3rp7w2rfi 2023-09-27 15:45:29 258 0
5 条回答
写回答
取消 提交回答
  • 在宜搭自定义界面中,添加部门组件和表单组件。
    在部门组件中,添加一个成员组件,用于获取表单组件的信息。
    在成员组件中,添加一个属性组件,用于获取表单组件的信息。
    在属性组件中,设置属性名和属性值,用于获取表单组件的信息。

    2023-09-30 11:00:40
    赞同 展开评论 打赏
  • 根据你提供的代码,可以看出你的部门组件的默认值设置是根据 state.departmentDBstate.departmentDBid 来确定的。如果 state.departmentDBstate.departmentDBid 存在,那么默认值就是一个包含这两个值的对象数组;否则,默认值就是一个空的对象数组。

    如果你想要获取到对应数据的表单的部门组件的信息,你可以在获取表单数据的时候,根据表单数据的格式进行适配转换。

    假设表单部门组件的格式是一个对象数组,其中每个对象包含 valuetext 字段,你可以在获取到的部门组件信息的地方进行适配转换,将获取到的部门组件信息格式转换成表单部门组件的格式。

    以下是一个示例代码,用于将获取到的部门组件信息格式转换成表单部门组件的格式:

    // 假设获取到的部门组件信息为 departmentInfo
    
    // 如果获取到的部门组件信息是一个数组,则可以使用 map 方法进行格式转换
    const formDataDepartments = departmentInfo.map(department => {
      return {
        value: department.id,
        text: department.name
      };
    });
    
    // 如果获取到的部门组件信息是一个对象,则可以直接进行格式转换
    const formDataDepartments = {
      value: departmentInfo.id,
      text: departmentInfo.name
    };
    
    // 现在,你可以将 formDataDepartments 设置为表单部门组件的默认值
    

    通过这样的适配转换,你可以确保获取到的部门组件信息与表单部门组件的格式一致,从而避免因为没有匹配而导致部门变为空的问题。

    2023-09-29 17:46:24
    赞同 展开评论 打赏
  • 十分耕耘,一定会有一分收获!

    楼主你好,您可以使用表单组件 API 中的 getValue 方法获取部门组件对应的值。具体操作流程为:

    1. 使用表单组件 API 的 getComponent 方法获取到对应的部门组件实例;
    2. 调用部门组件实例的 getValue 方法获取到对应的值。

    以下是示例代码:

    // 获取表单组件实例
    const form = this.$refs.form;
    
    // 获取部门组件实例
    const departmentComponent = form.getComponent('department');
    
    // 获取部门组件对应的值
    const departmentValue = departmentComponent.getValue();
    
    // 将部门组件的值和文本转换为对应的格式
    const departmentOptions = departmentValue.map(({ value, text }) => ({
      value,
      text,
    }));
    

    注意,获取到的部门组件的值可能是一个数组,其中每个元素代表一个被选中的部门,因此需要将每个元素分别转换成对应的格式。同时,对于没有选中任何部门的情况,部门组件的值可能为 null 或空数组 [],需要进行特殊处理。

    2023-09-28 08:56:03
    赞同 展开评论 打赏
  • 在宜搭中,你可以使用getForm方法来获取表单的部门组件信息。以下是一个简单的示例:

    import { getForm } from '@/utils/form';
    export default {
      methods: {
        getDepartment() {
          let department = getForm(this.formRef).getFieldValue('department');
          console.log(department);
        },
      },
    };
    

    在这个示例中,我们首先引入了getForm方法,并在methods中定义了一个名为getDepartment的函数。当这个函数被调用时,它会使用getForm方法获取当前表单的部门组件信息,并将其打印到控制台。
    注意,formRef是你的表单组件的引用,你需要根据实际情况进行修改。

    2023-09-27 17:33:44
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    要获取自定义部门组件的信息并与表单部门组件进行匹配,你可以使用宜搭提供的数据联动功能。以下是一种可能的解决方案:

    1. 在自定义部门组件中设置默认值:根据你提供的代码,你已经在自定义部门组件中设置了默认值。请确保state.departmentDB和state.departmentDBid是正确的值。

    2. 使用数据联动功能:在表单部门组件上启用数据联动功能,以便将自定义部门组件的信息与表单部门组件进行匹配。

    3. 配置数据联动规则:在数据联动规则中,将自定义部门组件的信息映射到表单部门组件的选项。具体操作可能因宜搭平台版本而有所差异,但一般情况下,你需要指定自定义部门组件的值(state.departmentDBid)与表单部门组件的值(value)之间的关系。

    4. 提交表单时的处理:在提交表单时,确保将表单部门组件的值传递给后端处理,以便保存或进一步处理。

    2023-09-27 17:00:52
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
宜搭 - 企业智能化应用搭建平台 立即下载
《云市场-宜搭解决方案》 立即下载
《宜搭开发手册》 立即下载