antd 里面下拉框联动

本文介绍如何在前端开发中实现两个下拉框的联动效果,当第一个下拉框选值变化时,第二个下拉框的选项随之更新。通过使用Form.Item的shouldUpdate属性和onSelectChange事件,结合Ant Design的Select组件,实现实时同步并清空相关字段的值。

需求:两个下拉框,第一个下拉框切换后,第二个下拉框根据第一个的值改变下拉选项
使用shouldUpdate,另外当第一个值改变时,onSelectChange事件中,使用form.setFieldsValue将被关联的值清空(或者其他操作)

 const onSelectChange = (e, type) => {
    switch (type) {
      case 'classCode':
        return setClassCode(e), form.setFieldsValue({ typeCode: '' });
    }
  }
============分割=====================
<Form.Item label={'事件分类'} name="classCode" rules={[{ required: true, message: '请选择一个分组' }]}>
          <Select
            placeholder="请选择一个分组"
            value={classCode}
            allowClear
            onChange={(e) => onSelectChange(e, 'classCode')}
          >
            {Object.keys(classCodeList).map((item, index) => {
              return <Option value={item} key={index}>{classCodeList[item].name}</Option>
            })}
          </Select>
        </Form.Item>
         <Form.Item
          noStyle
          shouldUpdate={(prevValues, currentValues) => prevValues.classCode !== currentValues.classCode}
        >
          {({ getFieldValue }) => {
            return getFieldValue('classCode') ? (
              <Form.Item
                name="typeCode"
                label="详细类型"
                rules={[{ required: true, message: '请输入账户' }]}>
                <Select
                  placeholder="请选择一个详细类型"
                  allowClear
                >
                  {renderTypeCode(getFieldValue('classCode'))}
                </Select>
              </Form.Item>
            ) : null;
          }}
        </Form.Item>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值