获得徽章 14
- @潘大虎大王 @袁一
我们都是知识分享官第五天打卡
antd table 跨页多选拿到当前行处理。(我项目中用的是antd3.x)
1. 在table的 rowSelection属性中 添加onChange(ids, records) 第一个参数是所有选中的id,这个是可以跨页选择的。antd会把id都放到这个里面。前提是你设置了rowkey=”id“; 第二个参数,就只会提供给当前页的内容。
2. 我是用一个map把用户点击的内容都放到map中。如果点击相同id,map会自动覆盖,所以一定要保证id的唯一性。
3. 在最后提交给后端的时候,循环用户所点到的所有id,也就是change的第一个参数。map.has(ids[i]),如果有的话就 result.push(map.get(ids[i])) 这样就可以拿到所有跨页选择的整个行内容了。展开1点赞 - #沸你不可#
@潘大虎大王 @袁一
我们都是知识分享官第三天打卡
正则中的?和(?:)的区别?
? 可选,放在一个字符,字符组或者括号分组后面,代表这个部分是可选的。
例如:
/colou?r/ 代表当前的u可以有也可以没有
/(very )?good/ 代表当前分组的very可以有,也可以没有
(?:) 非捕获型括号,要注意 这个问号冒号一定要在括号的最前面才有意义。
1. 要理解非捕获括号,要先能理解括号的含义
例如:我想把 1996-07-25 改为 1996/07/25 也就是把 - 改成 /
代码为:'1996-07-25'.replace(/(\d+)-(\d+)-(\d+)/, '$1/$2/$3') 得到预期结果。可以看出来$1 $2 $3 分别代表3个括号内的内容。
2. 现在修改一下这个例子,来理解非捕获括号
例如:我想把 1996-07-25 改为 07/25 去掉1996,然后把 - 改成 /
代码为:'1996-07-25'.replace(/(?:\d+)-(\d+)-(\d+)/, '$1/$2') 得到预期结果 07/25。 这样就能理解(?:)的含义了吧。就是在我们进行分组捕获的时候,捕获这个内容,但是并不想在后面用变量使用的时候。可以考虑用到这个(?:)展开赞过11 - @潘大虎大王 @袁一 我们都是知识分享官第一天打卡
正则/^cat/ 与 /[^cat]/ 的区别?
1. /^cat/ 代表 cat为开始的单词,如:cats。 这里的^表示范围 ”以...开头“
2. /[^cat]/ 代表除了cat三个字符以外的其他字符,都可以匹配。 这里的^表示”否“代表 除了...
解释:[]是一个字符组,[^]叫做排除字符组,在字符串的最前面表示”否“。如果^不在字符组里面且在正则开头的位置就表示 ”以...开头“。
总结:
1. ^ 有含义只有在最前面的位置/^12/ 或 /[^12]/
2. 如果/1^2/ 或 /[1^2]/ 这里的^不属于正则语法,只代表^这个字符
#沸你不可#展开1点赞