react map()循环选中行根据条件分支进行不同弹窗

现有数组selectedRows,值为[alpha,beta,gamma,delte],其中alpha也是数组,现在要拿到alpha下的one值。
  • 已知:selectedRows 为列表选中行,可能单选,也可能多选。
  • 思路:通过selectedRows 拿到alpha,再拿到alpha下的one。
// selectedRows:[Object]
selectedRows = [alpha,beta,gamma,delte]; 
alpha = [one,two,third,fourth,fifth];
  • 知识点:map()方法返回新数组,且不改变原始数组。

先通过map()方法拿到selectedRows下的alpha,剔除其他。
想通过selectedRows.alpha这种方式拿到selectedRows下的所有alpha值,对象才能通过.xx去拿值,所以map()里先处理一下。

let alphaArr = [];
// 遍历selectedRows返回一个只有alpha的新数组
selectedRows.map(i =>{
   
	// 判断时带上长度,空数组结果为true
	if(i.alpha && i.alpha.length > 0){
   
		i.alpha.map(j =>{
   
			alphaArr.push(j);
		})
	}
})
 // alphaArr = [alpha,alpha2,alpha3,...]
 // alphaArr.alpha = one
给出限定条件:只有one的值为1且two没有值,为满足条件数据,把这些数据筛选出来。

map()方法把满足条件的数据返回一个新数组。

let validateArr = [];
// alphaArr数组不为空数组情况下
alphaArr.length && alphaArr.map(item => {
   
	if(item.one === '1' && !item.two){
   
		validateArr.push(item);
	}
})
选中行selectedRows数据,如果为“one的值为1且two没有值”的情况,弹窗提示校验“基数词onexxx,基数词twoxxx仍缺少文件”,该弹窗需包含返回和继续按钮,返回则不操作,继续则弹窗提示“通过”;其他情况则直接弹窗提示
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值