当前位置: 首页 > news >正文

【QA】[Vue/复选框全选] v-model绑定每一项的赋初值问题

发生场景:不只是复选框的状态改变,还有的功能要用到复选框的选中状态,比如:购物车计算总价,合计等等。
引入:复选框 checkbox 在使用时,需要用v-model绑定布尔值,来获取选中状态;而在实现全选功能时,需要给列表项的每一项都绑定布尔值,但不能绑定同一个,往往都是以 v-model="item.smallCheck"这种形式,item 表示外层 v-for 循环的列表的每一项。
描述:如果还要利用选中状态来实现某个功能,就可能会出现这样的问题:复选框的初始值是 undefined
功能就无法实现,比如下面这个计算总价:

   // 计算总价TotalPrice: function () {// console.log(this.isCheck)let sum = 0;this.bookList.map(item=>{console.log(item.smallCheck)if(item.smallCheck){sum+=item.price*item.num}})return sum.toFixed(2);}

我利用选中状态来判断是否计算当前商品的总价,然而此时是 undefined,如果用:

if(item.smallCheck === true || item.smallCheck === undefined)

也是不行的,因为:
在这里插入图片描述
解决:在data中的列表加上一项为 smallCheck:false,而不是直接在 data 中加,因为循环绑定的是每一项而不是一个。

<input type="checkbox" v-model="item.smallCheck">

:v-model 绑定的数据是 undefined 的时候,不会报错,所以,一定要注意,v-model 不能是 undefined ,否则有些莫名其妙的问题。

http://www.lryc.cn/news/11547.html

相关文章:

  • python基于django+vue微信小程序的校园二手闲置物品交易
  • 设计模式之观察者模式
  • Java Lambda表达式
  • 【1237. 找出给定方程的正整数解】
  • java基础学习 day41(继承中成员变量和成员方法的访问特点,方法的重写)
  • 【c语言进阶】深度剖析整形数据
  • 【信息系统项目管理师】项目管理十大知识领域记忆敲出(采购风险沟通干系人)
  • [LeetCode 1237]找出给定方程的正整数解
  • 6.2 构建 RESTful 应用接口
  • 20230218英语学习
  • Linux单一服务管理systemctl
  • 【GStreamer 】 TX1中CPU和GPU解码显示海康相机RTSP流
  • 匿名内部类、Lambda表达式、方法引用对比分析
  • ESXi主机CVE-2021-21972漏洞复现安全处置建议
  • 研报精选230217
  • c++11 标准模板(STL)(std::unordered_set)(一)
  • 【C语言进阶】你听说过柔性数组吗?
  • [LeetCode]1237. 找出给定方程的正整数解
  • 【路径规划】基于A*算法和Dijkstra算法的路径规划(Python代码实现)
  • 蓝桥杯 stm32 PWM 设置占空比
  • React 合成事件理解
  • 202302|读书笔记——国图点滴
  • Linux 操作系统原理 — NUMA 架构中的多线程调度开销与性能优化
  • OpenGL - 如何理解 VAO 与 VBO 之间的关系
  • Linux中sed的使用
  • [软件工程导论(第六版)]第1章 软件工程学概述(复习笔记)
  • ISP相关
  • vTESTstudio - VT System CAPL Functions - VT2004(续1)
  • WeakMap弱引用
  • Springboot 使用quartz 定时任务 增删改查