vue设计调查问卷:换个思路解决问题

巡检项目里边有个设计调查问卷的功能,就是web端设置很多题,在app上做。

做调查问卷的时候里边有很多逻辑,例如关联逻辑与跳题逻辑,关联逻辑是 当选中这道题关联的某道题的选项的时候,这道题才出现,跳题逻辑是点击这道题的某一个选项的时候直接跳到某道题,逻辑很复杂。

刚开始我是通过操作数组中的元素实现的,当有某道题关联逻辑的时候,删除这个元素,当选中它所关联的选项的时候,再在数组中增加这个元素。当某道题有跳题逻辑的时候,直接把这道题所跳的题目之间的元素都删除。

但是这样频繁的操作数组导致了很多问题,当只设置跳题逻辑不设置关联逻辑,这些都是正常的,当这两个同时设置,就出现问题了。这样操作数组会导致数组一直在变化中,删除之后的元素也无法找到。我曾经想了好久该怎么做,可以实验了很多次都是无法控制这个数据的变化。。。冥思苦想。。。。产品经理也一直在催赶紧改这个bug

终于有一天,我跳出了心中的樊笼,决定不采用改变数组的方法改变页面上题目的变化。决定采用原始方法改变dom元素的style来设置元素的隐藏与显示。用 this.$refs.questionElement 获取元素的DOM,然后元素隐藏的时候动态地设置元素的样式display为none, 元素显示的时候为block。在这当中,数组中的元素一直没有变化,变的是数组中元素的style。问题得到了解决。刚开始想的是vue不直接操作DOM,操作数据。就一直在用改变数据的方法,后来发现不行再用了操作DOM的方法。

也许我做的并不好,当我能力再次提升的时候,我会回来重构一下,寻求最好的方法解决。

久在樊笼里,复得返自然。 记住,遇到什么事解决不了的,要时常换个思路解决问题。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值