v-for绑定的key如果调用了生成随机数的函数会在重绘中丢失这个DOM 今天在搬砖的过程中发现,如果在v-for中绑定key的时候调用了一个生成随机数的函数,那么在视图刷新以后这些DOM会丢失。 先说业务场景: 同一个页面下,在执行radio的input事件时,对该radio按钮控制的Echarts图表执行了dispose操作,销毁图表后切换列表展示。在这过程中,页面另一处的Echarts图表无缘无故的消失了,而且在Document中也找不到该Echarts图表的DOM实例。最后排查到的问题是在消失的Echarts图表中,":key"是调用了生成随机数的函数生成的,于是我就有如下猜想:是否在更新虚拟DOM的时候,重新调用了该函数,导致生成了与第一次完全不同的key,所以才会在视图更新之后丢失该DOM。网上搜到的关于key的解释都感觉没有准确的解答我的疑惑,希望有大佬不吝赐教
typescript,函数如何根据传入的key,返回对象对应的这些key?比如: const obj = { name: 'Marcelo', age: 27, role: ['admin'] }; type ObjType = { [key in keyof typeof obj]: typeof obj[key] } const getAttr = >(...attribute: KS): T[KS] => { const result = {}; for (const attr of attribute) { result[attr] = obj[attr]; } return result; }; const attr = getAttr('age', 'name'); 现在这个写法肯定不对,变量attr的推断是unknown,如何写函数getAttr的返回定义,才能让变量attr的推断为{age:number, name:string },就是函数传入了哪些key,就只返回这些key的推断