我遇到这个问题的前提是 ,展示一个复杂对象,并要求能够无感修改
做法:
浅层数据,点击读取当前值并转换成修改样式的input,no 问题!!!!
深层数据:数组循环展示的数据,以及放在tabs自定义label中的数据,采用点击替换成input就会出现输入一个 字符就失去焦点的问题!!!!
遇到这个问题不要慌-------------------------------------------------------
第一时间想到是不是循环中key值有当前输入框要改的属性的参与计算。。。。我特么,还真是,
随之又遇到一个问题,当前的组件根据需求是自己循环递归嵌套自己的,这key值会不会冲突呢?这不有涉及到diff算法吗。。。。。。。个锤子啊,diff算法只会同级比较好嘛那没事,因为循环的数据对象要的是全部都能编辑的,没有任何一个属性能让乖乖的让我当作key值使用,那我创建了一个汉堡(本人是胖纸,养了只猫叫汉堡)的单词和索引的拼接,解决!!!
但是
遇到了另外一个:tabs自定义label,要求能够双击label无感修改属性,都是泪啊,自信过头了,没测试,样式改了好大会,使用的时候遇到这个问题呜呜呜呜,
第二时间想到是不是name和要改的属性有关系,审查代码,嚯~~还真是,开开心心的选择了用索引加黑猫警长作为name,准备就绪,调试,双击,聚焦,输入。。。
气的我一拍桌子,旁边同事痛叫了一声~你拍我手了卧槽!!!。。。。。。
最后在付出一杯马斯卡彭的情况下再冷静思考:
1——————————————
2——————————————
3——————————————
多种情况测试后均无果,最后想着,我另声明一个变量来接受input的值,卧槽~解决了,就是逻辑得严谨些了哈哈哈哈