当前位置: 首页 > news >正文

网站建设是否属于技术合同电商平台下载

网站建设是否属于技术合同,电商平台下载,seo软件安卓版,腾讯云免费域名申请form 数组中嵌套数值更新 注意:数组是引用类型 项目需求,表单中包含多个产品信息,使用form.list 数组嵌套,提货方式如果是邮寄展示地址,如果是自提,需要在该条目中增加两项 代码如下:// An hi…

form 数组中嵌套数值更新

注意:数组是引用类型

在这里插入图片描述
项目需求,表单中包含多个产品信息,使用form.list 数组嵌套,提货方式如果是邮寄展示地址,如果是自提,需要在该条目中增加两项

代码如下:
// An highlighted block
<Card title="产品信息" bordered={false}><Form.List name="productList" >{(fields, {add, remove}) => (<>{fields.map((field,index) => (<Row  gutter={16} >{/* 用得时候只需要修改下面,将需要重复展示的部分替换下面部分即可 注意 -----start*/ }<Col sm={24} md={12} lg={8} xxl={6}><Form.Item {...field}label="库存组织"name={[field.name,"kuCun"]}rules={[{required: true,message: '请选择',},]}><Select><Select.Option value="u238475">u238475</Select.Option><Select.Option value="u238472">u238472</Select.Option></Select></Form.Item></Col><Col sm={24} md={12} lg={8} xxl={6}><Form.Item {...field}label="产品线"name={[field.name,"chanPin"]}rules={[{required: true,message: '请输入',},]}><Select><Select.Option value="you1">CTM-产品1</Select.Option><Select.Option value="zi1">CTM-产品2</Select.Option></Select></Form.Item></Col><Col sm={24} md={12} lg={8} xxl={6}><Form.Item {...field}label="产品名称"name={[field.name,"wuMiao"]}rules={[{required: true,message: '请输入',},]}><Input placeholder="请输入" /></Form.Item></Col><Col sm={24} md={12} lg={8} xxl={6}><Form.Item {...field}label="提货方式"name={[field.name,"tType"]}rules={[{required: true,message: '请输入',},]}><Select><Select.Option value="you">邮寄</Select.Option><Select.Option value="zi">自提</Select.Option></Select></Form.Item></Col><Form.Item noStyle  shouldUpdate={(pre,cur) => {//    如果删除一条信息,cur.productList[index]是空值,所以需要判断if(cur.productList[index]&&pre.productList[index]){// 判断当前是自提还是邮寄return pre.productList[index].tType !== cur.productList[index].tType}else{return false}}}>{({getFieldValue}) =>{const type = getFieldValue('productList'){/* 当前是自提的时候需要填写自提人信息 */}if(type[index].tType&&type[index].tType=='zi'){return <><Col sm={24} md={12} lg={8} xxl={6}><Form.Item {...field}label="自提人姓名"name={[field.name,"tName"]}rules={[{required: true,message: '请输入',},]}><Input placeholder="请输入" /></Form.Item></Col><Col sm={24} md={12} lg={8} xxl={6}><Form.Item {...field}label="身份证号"name={[field.name,"tShen"]}rules={[{required: true,message: '请输入',},]}><Input placeholder="请输入" /></Form.Item></Col></>}else{{/* 有一个问题,当切换回邮寄。之前填写的自提人和身份证号删除(只需要将type数组中的数据清空即可,不需要再特意给form赋值,他们是引用类型) */}Object.assign(type[index],{tName:'',tShen:''})return <></>}}}</Form.Item>{ /* 用得时候只需要修改下面,将需要重复展示的部分替换下面部分即可 -----end*/ }<div styleName="item_btn_wrap"><PlusCircleFilled styleName="add_item_btn" onClick={() => add({tType:'zi'})} />{fields.length>1&&<CloseCircleFilled  styleName="remove_item_btn" onClick={() => remove(field.name)} />}</div></Row>))}</>)}</Form.List></Card>
**关键点解释**1. shouldUpdate 是依赖当前form中的变化。所以在其中加上判断,pre是之前 cur是当前,然后根据数组嵌套找到当前值变化就返回true,就会走下面的代码2. Form.Item noStyle 是没有样式的,不需要添加{...field} 不是其中一项3. getFieldValue 获取当前的form值,根据值来展示

问题 在切换不展示时,之前填写的值不清空,所以重点来了
数组是引用类型
数组是引用类型
数组是引用类型

之前一直解决不了,还想用setFomValue来解决,根本不用,因为数组是引用类型,所以直接操作原来的数组值就可以

// An highlighted block
Object.assign(type[index],{tName:'',tShen:''})
http://www.yayakq.cn/news/597449/

相关文章:

  • app科技产品网站建设建设部网标准下载网站
  • 效果图网站建设wordpress分类添加自定义字段
  • 吴忠住房和城乡建设网站网站规划的特点
  • 上海品牌网站设计网站怎么添加栏目
  • 郑州建网站多少大连看妇科哪家医院好
  • 手游传奇发布网站网站框架与内容
  • 手机网站端域名怎样做解析甘肃机械化建设工程有限公司网站
  • wordpress中上传图片深圳互联时空网站优化怎么样
  • 河北省住房与建设厅网站如何建立自己的网拍平台
  • 长沙建网站理51办办网
  • 我做的网站不知道网站怎么办锚文本外链查询网站
  • 南京seo建站免费虚拟主机官网
  • 网站开发一个多少钱啊东营网站建设规划书
  • 温州建设信息港网站河南亿元建设有限公司公司网站
  • 外贸网站建站n智能网站建设维护软件
  • 网站首页建设中页面贵阳做网站电话
  • 怎样做网站框架图网站开发后期维护更新
  • 网站制作公司官网南京口碑好网站建设定制
  • 免费flash网站源码2023年税收优惠政策
  • 如何做淘宝商城网站设计网站建设的主要技术
  • 临沂免费模板建站济南网络策划
  • 阿里云主机网站开发做楼房信息网站的作用
  • 平顶山建设局网站自己电脑wordpress
  • 宿州网站建设开发公司哪家好网站建设的文件
  • 网站seo设计网站建设wix
  • 网文订阅做多的网站织梦中英文网站模板
  • 免费创建网站平台wordpress输入域名跳转登录
  • 教育网站 前置审批prizm viewer wordpress
  • 下载网站cms外贸网站建设推广公司前景如何
  • 建立网站需要多少钱稻挺湖南岚鸿有名做动态图片的网站