Antd4之动态增删表单

一、Antd3

在antd3中可以使用getFieldDecorator去控制表单的显示和隐藏

import { Form, Select } from 'antd';
const { getFieldDecorator, setFieldsValue } = form;
 {getFieldDecorator('bizCode')&&(<p>xxxx</p>) }

但是在antd4中做了修改,如下

二、Antd4

1. 首先声明form,并且挂载在form元素上

const [form] = Form.useForm();

在这里插入图片描述

2. 根据a值控制b筛选条件是否显示

需要用form.Item包裹起来,判断条件a的值是否等于1,如果等于就显示

<Form.Item
 noStyle
>
  {(getFieldValue('a')==='1'  && (
        <Col span={4}>
          <Form.Item label="时间" name="b">
            <DatePicker
              showTime={{ format: 'YYYY-MM-DD HH:mm:ss' }}
              format="YYYY-MM-DD HH:mm:ss"
            />
          </Form.Item>
        </Col>
      )
    );
  }
</Form.Item>

优化

优化的原因是减少资源消耗,会在shouldUpdate的时候就开始对我们需要匹配的字段进行判断,这样是比较好的输出写法:

<Form.Item
 noStyle
  shouldUpdate={(pre: a, cur: a) =>
    pre.a !== cur.a
  }
>
  {({ getFieldValue }) => {
   getFieldValue('a') === '1' && (
     <Col span={4}>
        <Form.Item label="时间" name="b">
          <DatePicker
            showTime={{ format: 'YYYY-MM-DD HH:mm:ss' }}
            format="YYYY-MM-DD HH:mm:ss"
          />
        </Form.Item>
      </Col>
	 )
  }
</Form.Item>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
antd prov4 是一个基于 Ant Design 的可视化配置组件库,用于快速搭建数据展示和编辑页面。它提供了一套丰富的组件和配置项,可以方便地完成增删改查功能。 要使用 antd prov4,首先需要安装依赖: ```shell npm install antd-prov4 ``` 然后,在你的代码中引入需要的组件和配置项,进行相应的增删改查操作。以下是一个简的示例: ```jsx import { Table, Form, Input, Button } from 'antd'; import { useTable, useForm } from 'antd-prov4'; const columns = [ { title: '姓名', dataIndex: 'name', key: 'name', }, { title: '年龄', dataIndex: 'age', key: 'age', }, ]; const dataSource = [ { key: '1', name: '张三', age: 18, }, { key: '2', name: '李四', age: 20, }, ]; const Example = () => { const { tableProps } = useTable({ dataSource, columns }); const { formProps } = useForm(); return ( <div> <Table {...tableProps} /> <Form {...formProps}> <Form.Item label="姓名" name="name"> <Input /> </Form.Item> <Form.Item label="年龄" name="age"> <Input /> </Form.Item> <Button type="primary" htmlType="submit"> 提交 </Button> </Form> </div> ); }; export default Example; ``` 以上代码中,我们使用了 `Table` 组件来展示数据,使用 `Form` 组件来编辑数据。`useTable` 和 `useForm` 分别是 antd prov4 提供的自定义 Hook,用于处理格和的相关逻辑。 通过以上代码,你可以实现一个简增删改查功能页面。具体的操作和配置可以根据你的需求进行调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值