v-for绑定的key如果调用了生成随机数的函数会在重绘中丢失这个DOM 今天在搬砖的过程中发现,如果在v-for中绑定key的时候调用了一个生成随机数的函数,那么在视图刷新以后这些DOM会丢失。 先说业务场景: 同一个页面下,在执行radio的input事件时,对该radio按钮控制的Echarts图表执行了dispose操作,销毁图表后切换列表展示。在这过程中,页面另一处的Echarts图表无缘无故的消失了,而且在Document中也找不到该Echarts图表的DOM实例。最后排查到的问题是在消失的Echarts图表中,":key"是调用了生成随机数的函数生成的,于是我就有如下猜想:是否在更新虚拟DOM的时候,重新调用了该函数,导致生成了与第一次完全不同的key,所以才会在视图更新之后丢失该DOM。网上搜到的关于key的解释都感觉没有准确的解答我的疑惑,希望有大佬不吝赐教
出现怪异的SQL如下: SELECT * FROM teacher WHERE DATE_FORMAT(DATE_ADD('2023-11-01',INTERVAL FLOOR(RAND() * DATEDIFF (CURDATE(), '2023-11-01')) DAY),'%Y-%m') = DATE_FORMAT(create_time, '%Y-%m'); 原始需求: 查询从给定月份到现在的时间段内,查询随机某月的数据。 当前现状: 根据前面提供的SQL查出来的数据,看条目数应该是对的,但是具体的数据却不对。有没有大神看一下问题出在哪里,亦或还有否更好的思路。 创建表 create table `teacher` ( `id` int (11), `name` varchar (96), `create_time` datetime ); 插入数据 insert into `teacher` (`id`, `name`, `create_time`) values('10','张三','2023-11-17 09:34:23'); insert into `teacher` (`id`, `name`, `create_time`) values('12','李四','2023-10-21 09:34:55'); insert into `teacher` (`id`, `name`, `create_time`) values('13','王五','2023-12-08 09:35:13'); insert into `teacher` (`id`, `name`, `create_time`) values('14','赵六','2023-12-28 09:35:48'); insert into `teacher` (`id`, `name`, `create_time`) values('15','孙七','2024-01-11 09:36:31'); insert into `teacher` (`id`, `name`, `create_time`) values('16','钱八','2024-01-25 09:38:15'); insert into `teacher` (`id`, `name`, `create_time`) values('17','老九','2024-03-07 09:38:53'); insert into `teacher` (`id`, `name`, `create_time`) values('18','老十','2024-03-10 09:39:35'); insert into `teacher` (`id`, `name`, `create_time`) values('19','十一','2024-03-11 09:41:36');