antdPro - ProTable 实现两个选择框联动效果

实现效果
1)正常情况下,a是正常状态,b是禁用的
在这里插入图片描述
2)当选择a时,会解除b的禁用状态,并且给b的选择框的下拉数据赋值
在这里插入图片描述
3)选择b,并清空a的值,应清空且禁用b,回归初始状态
在这里插入图片描述
在这里插入图片描述
4)点击“重置”,回归初始状态

在这里插入图片描述

关键代码:

......

const [eleValue, setEleValue] = useState<any>(undefined);  // b的值
const [labelDisabled, setLabelDisabled] = useState<boolean>(true); // b是否禁用
const [hideSearchLabel, setHideSearchLabel] = useState<string>(''); // b option取值
  
const columns: ProColumns<TableListItem>[] = [
      {
      title: 'a',
      dataIndex: 'domainCode',
      hideInTable: true,
      valueEnum: typeEnum,
      fieldProps: {
        placeholder: '请选择a',
        onChange: (val: any) => {
          setEleValue(undefined); // 1、当a改变时,会首先清空b选中的值或者遗留的警告信息;
          // 2、存在值,说明在选择a的下拉值,需要解除b的禁用状态;
          if (val) {
            setLabelDisabled(false);
          } else { // 3、值不存在,说明a选择框被清空了,需要重新变成禁用状态;
            setLabelDisabled(true);
          }
        },
      },
      search: {
        transform: (value) => {
          setHideSearchLabel(value); // 更新a的类型,方便b之后改变options的取值
          return { domainCode: value };
        },
      },
    },
    {
      title: 'b',
      dataIndex: 'elementLabel',
      ellipsis: true,
      valueEnum: elementEnum,
      fieldProps: {
        placeholder: '请选择b',
        onChange: (val: any) => {
          setEleValue(val); // 更新b的值
        },
      },
      renderFormItem: () => (
        <ProFormSelect
          wrapperCol={{ span: 24 }}
          disabled={labelDisabled}
          value={eleValue}
          options={
            // 根据a的类型取值
            hideSearchLabel === 'OFFICIAL_DOCUMENT'
              ? officialElementOption
              : hideSearchLabel === 'SERVICE_DOCUMENT'
              ? govServiceElementOption
              : []
          }
        />
      ),
    },
]
......
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ArcGIS Pro 是一款功能强大的地理信息系统软件,可以帮助用户进行地图制作、空间分析和数据管理等工作。在 ArcGIS Pro 中,可以通过联动不同的数据实现数据之间的交互和关联。 首先,我们需要在 ArcGIS Pro 中打开两个或更多的数据,这些数据可以是地图、图表或表格等。然后,我们可以使用不同的工具和功能来实现数据之间的联动。 一种常见的方法是使用选择集功能来实现数据之间的联动。我们可以在一个数据选择一个地理要素或记录,然后通过选择集功能将所选要素或记录在其他数据中高亮显示或进行筛选。这样,我们就可以快速查看和比较不同数据中的相关信息。 此外,ArcGIS Pro 还提供了联动以及联动视图功能。使用联动视图功能,我们可以将不同的数据显示在同一个主视图中,通过改变主视图的范围和放大倍数来实现数据之间的同步和联动。这样,当我们在一个数据中进行缩放或平移操作时,其他数据也会自动进行相应的调整,以保持数据之间的统一性和一致性。 另外,如果我们希望在两个数据之间进行数据交互和提取,可以使用联动查询功能。通过联动查询,我们可以在一个数据选择一个要素或记录,并将所选要素或记录的属性信息传递给另一个数据进行查询和分析。 综上所述,ArcGIS Pro 提供了多种方法和功能来实现数据之间的联动。通过联动不同的数据,我们可以更方便地进行地理数据的分析、比较和综合应用,提高工作效率和数据处理的精度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值