自定义标识符

案例一:
有这样的需求,模态框里的表单控件在新增时,下拉框绑定的是对象,而后端需要的是将对象拆成两个字段;在修改时,会有一个回显阶段,然后可以在回显的基础上做控件值得修改,但是回显的也是一个对象分为两个字段的形式,那么这种情况下就要为每个控件自定义标识符,用来区别控件值是否修改,判断之后再决定是否数据重组。

按照这个逻辑去处理应该是能走向胜利的,but还是出了一个bug

那就是在每次点击提交时,只要添加了标识符的控件,在成功提交一次后,做第二次提交时控件值都会自动清空(在点击提交按钮之前,控件绑定值及界面显示都一切正常,在点击的一瞬间绑定值清空且界面显示也没有值了),导致提交的参数不正确,经过debuger之后发现,因为用了标记做判断来重组数据,但是忘记了一个重要的步骤就是每次弹出修改框时都该重置标记为faulse,不然第二次进来就算不修改时,标记已经被第一次改为了true,会直接走重组数据,那么在没有修改下拉框的情况下重组数据就会出现问题,因为下拉框v-model绑定对象时,其绑定值只会在select发生变化时才是对象,没修改时是字符串,所以置空问题是由于将v-model为字符串的下拉框拿来当成对象重组数据,造成null值。
在这里插入图片描述
在这里插入图片描述
在点击修改按钮弹出模态框时就重置标识符,在点击提交按钮发送请求前根据标识符判断是否数据重组。

案例二:
在这里插入图片描述
需求是,图中的每个场景都是后端数据遍历出来的,每个场景就是一个对象;然后每个场景都有展开/收缩和开启/关闭功能,由于其他需要,每个场景应有自己的loading。

方案呢也简单,vue数据驱动嘛,展开/收缩可以用动态class来搞定,loading呢直接用UI库组件就行,但是问题来了,场景是遍历出来的,那就不能在data里去定义:class和loading的变量,会造成所有场景公用相同变量,那么要是后端返回的场景对象里都有对应的属性来控制就好了,可惜没有。。。
那么我们就自己造,自定义
在这里插入图片描述
把拿回来的数组遍历然后在每个对象里用vue. s e t 动 态 添 加 控 制 展 开 / 收 缩 和 l o a d i n g 的 属 性 , 千 万 记 住 用 v u e . set动态添加控制展开/收缩和loading的属性,千万记住用vue. set/loadingvue.set而不是Object.xx

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值