react&antd(12)动态表单的默认值问题

这篇具有很好参考价值的文章主要介绍了react&antd(12)动态表单的默认值问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近遇到一个需求是有一个表单可以输入各种信息,然后还需要有一个编辑功能,点击编辑的时候需要把当前数据填入到表单里面。在网上查了很多种方法,然后我的思路是使用initialValues搭配setState()使用。默认值都为空,然后点击单条数据时把该条数据需要的字段setState()更新。

// Table组件的columns
[
        {
            xxx
        },
		{
			title: '操作',
			key: 'operator',
			dataIndex: 'operator',
			align: "center",
			width: 100,
			render: (item, record) => {
				return (
					<div>
						<Button type='primary' onClick={()=> openModal(record)}>编辑</Button>
					</div>
				)
			}
		 },
]



	const openModal = (record) => {
        // 有传record说明是点击编辑
		if (record) {
            this.setState({
             //在这里把你需要填入的字段进行setState   
             })
		}
	}

react&antd(12)动态表单的默认值问题,react&amp;antd,react.js,javascript,前端

 注意在setState的时候要按照antd需要的数据结构进行传递,以上面的祝福语列表这个Form.Item为例,此时blessing_list需要是有个数组,里面的每一项就是一行数据,["xxx","yyy"]在页面上就是如下图所示,默认是两条数据的。其他的input和select也是类似的做法。

react&antd(12)动态表单的默认值问题,react&amp;antd,react.js,javascript,前端文章来源地址https://www.toymoban.com/news/detail-681897.html

<Form.Item
	className={styles.formItem}
    name='blessing_list'
	label='祝福语列表'
	rules={[{ required: true, message: '请填写祝福语列表!' }]}
	initialValue={blessing_list}
>
	<Form.List name="blessing_list">
		{(fields, { add, remove }) => (
			<>
			{fields.map(({ key, name, fieldKey, ...restField }, index) => (
			    <Space key={key} align="baseline">
				    <Form.Item
					    style={{ flex: 1 }}
						{...restField}
						name={[name]}
						width={'100%'}
						fieldKey={[fieldKey]}
						label={`祝福语${index + 1}`}
						rules={[{ required: true, message: '请填写祝福语!' }]}
					>
						<Input style={{ flex: 1 }} />
					</Form.Item>
						<MinusCircleOutlined onClick={() => remove(name)} width={20} />
				</Space>
			))}
	    <Form.Item>
			<Button type="dashed" onClick={() => add()} block icon={<PlusOutlined />}>
				新增祝福语
			</Button>
	    </Form.Item>
			</>
			)}
    </Form.List>
</Form.Item>

到了这里,关于react&antd(12)动态表单的默认值问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • react结合antd的Table组件实现动态单元格合并

    首先看一下antd的Table表单组件,合并单元格,用到了rowSpan(合并行)和colSpan(合并列)  后台返回的数据 我们希望把category的值相同的,行合并成一个单元格 类似于这种  rowSpan这个属性可以指定合并行。例如说第一行,指定rowSpan为3,意思就是合并三行,则后面紧挨的两行的ro

    2024年02月12日
    浏览(46)
  • antd项目中input框的value值不能被修改,form.setFieldsValue 来动态改变表单值

    目录 一、问题描述         1.1、环境         1.2、问题展示          1.3、问题代码展示          1.4、控制台效果         1.5、解释 二、官网解释         官网链接https://ant.design/components/form-cn 三、解决方案         3.1、修改版部分代码       

    2024年02月15日
    浏览(61)
  • 【JavaScript-13】阻止事件的默认行为+键盘表单事件

    一、阻止默认行为 1.阻止事件冒泡 event.stopPropagation(); a标签不跳转:href=“javascript:;” 2.阻止默认行为 event.preventDefault();通常写在第一行 例子: 例1)如a标签不需要写onclick直接点击便可以跳转,此处写阻止默认行为,就是阻止a的点击行为 例2)阻止默认行为,阻止右击页面自

    2024年02月09日
    浏览(49)
  • react17+antd4.18 动态实现面包屑导航Breadcrumb-----需改善

    1、已经定义好的全部的路由配置,需要是这种格式的,可以再加上关于icon的内容. 2、代码 3、在组件中使用的时候需要传入当前页面的路劲发作为Bread组件的属性。 4、假设当前页面的路径为 ‘/page1/page102/page10201’,经过上述操作筛选后得到的对应路径上的路由配置routes的值

    2024年04月25日
    浏览(30)
  • vue3 antd项目实战——Form表单的提交与校验【v-model双向绑定input输入框、form表单数据,动态校验规则】

    本文依旧沿用 ant design vue 组件库和 ts 语言🔥🔥更多内容见Ant Design Vue官方文档 🔥🔥 vue3 antd项目实战——Form表单【后台管理系统 v-model数据的双向绑定,input输入框、Radio单选框的嵌套使用】 在上期文章中,我们完成了 UI界面的渲染 (渲染效果如下图),本期文章将带着大

    2023年04月22日
    浏览(85)
  • React antd如何实现<Upload>组件上传附件再次上传已清除附件缓存问题

    最近遇到一个React上传组件的问题,即上传附件成功后,文件展示处仍然还有之前上传附件的缓存信息,需要解决的问题是,要把上一次上传的附件缓存在上传成功或者取消后,可以进行清除 经过一顿试错,终于解决了这个问题。 showUploadList,是可选参数,即是否展示upload

    2024年02月04日
    浏览(59)
  • JS-DOM-12(常见的鼠标、键盘、表单事件)

    接下来我们来看一下常见的鼠标事件(不仅仅是鼠标设备,也包括模拟鼠标的设备,比如手机、平板电脑) 常见的鼠标事件: mouseover和mouseenter的区别 mouseover 和 mouseenter 都是 JavaScript 事件,用于检测鼠标指针进入一个元素的边界。然而,它们之间有一些关键区别: 事件冒泡

    2024年04月26日
    浏览(48)
  • Android 12 内置系统默认动态壁纸(视频资源)实现

    新建APP 项目 实现 WallpaperService 实现视频播放的引擎 AndroidManifest.xml 里注册服务 其中的 intent-filter 、action 、meta-data 都是固定写法,用于系统识别,我们需要配置的是 后面的 android:resource=“@xml/magic” 资源配置 @xml/magic 在 res 目录下,新建 xml 文件夹 然后新建 xxxx.xml(如本例:

    2023年04月26日
    浏览(270)
  • JavaScript 框架比较:Angular、React、Vue.js

    在 Web 开发领域,JavaScript 提供大量技术栈可供选择。其中最典型的三套组合,分别是 MERN、MEAN 和 MEVN。这些首字母相同的选项各自代表不同的技术加工具组合。为了在这些技术栈中做出明智选择,让我们先从核心组件聊起,再对各自前端框架(React、Angular 和 Vue)进行简化比

    2024年01月20日
    浏览(59)
  • 12.JavaScript(WebAPI) - JS api文献精解

    大家好,我是晓星航。今天为大家带来的是 JavaScript(WebAPI) 相关的讲解!😀 前面学习的 JS 分成三个大的部分 ECMAScript: 基础语法部分 DOM API: 操作页面结构 BOM API: 操作浏览器 WebAPI 就包含了 DOM + BOM. 这个是 W3C 组织规定的. (和制定 ECMAScript 标准的大佬们不是一伙人). 前面学的

    2024年02月06日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包