JeecgBoot中的JEditableTable组件复杂自定义功能:修改其中一个字段时其他字段也同时做相应改变,级联选择器的使用

本文介绍了如何在JeecgBoot的JEditableTable组件中实现复杂自定义功能,当修改产品名称时,产品编码和规格字段自动级联改变。通过修改列类型,添加插槽,响应式方法以及利用jeecg提供的API,实现了级联选择器的使用,解决了在前端数据格式不变的情况下与后端数据的交互问题。同时,文中分享了遇到的问题和解决过程,提供了详细的步骤和示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考官方技术文档:http://jeecg-boot.mydoc.io/?t=345687

初始需求:如下图,当我修改产品名称的选项时,产品编码和产品规格的字段会根据我给出的数组自动改变。
在这里插入图片描述
1.首先我们需要将column类型改为slot才能自定义产品名称的可选列表以及添加同时修改功能。需要注意的是在技术文档中我们可以看到,当 type=slot时所需的参数:

参数 类型 必填 说明
slotName string ✔️ slot的名称

所以最终代码如下:

columns: [
          {
   
   
            title: '产品名称',
            key: 'materialName',
            type: FormTypes.slot,
            slotName: 'materialName',
            width: '20%',
          },
          {
   
   
            title: '产品编码',
            key: 'materialCode',
            type: FormTypes.slot,
            slotName: 'materialCode',
            width: '20%',
          },
          {
   
   
            title: '产品规格',
            key: 'materialSpecs',
            type: FormTypes.slot,
            slotName: 'materialSpecs',
            width: '60%',
          },

2.然后再html代码中添加对应的插槽:

<j-editable-table
  :ref="tableName"
  :loading="loading"
  :columns="columns"
  :dataSource="dataSource"
  :maxHeight="300"
  :rowNumber="true"
  :rowSelection="true"
  :actionButton="true"
>
  <template v-slot:materialName="props">
    <a-select
      :default-value="props.text"
      placeholder="请选择产品名称"
      style="width: 100%"
      show-search
      @change="(value) => handleProChange(value, props.rowId)"
    >
      <a-select-option
        
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值