列表清单中,每一个列表的说明条件都只显示一条,点击实现折叠面板的效果,需求如下图:

给商品添加了text和flag,点击展开文字,数据进行了更新,但是视图没有变化

 <div class="goodsConfirm van-hairline--bottom" v-for="(item,index) in orderInfo.goods" :key="index"><div class="goodsCon ">......</div><div v-if="item.showFall || item.showFixed" :class="[item.ruleflag?'rebateRule':'rebateRulehide']" ref="rebateRule" @click="toggleRule(item)"><p  class="toggleRule">{{item.rulename}}</p><p v-if="itemrule.rebateType=='BASIC_POLICY' && item.showFall" v-for="(itemrule,i) in item.fallRebateRule" :key="itemrule.rebateUid">{{itemrule.rebateName}}:【{{itemrule.rebateTypeName}}】<span v-if="itemrule.quantity>0">最高{{itemrule.quantity}}台,</span>直减{{itemrule.amount}}元</p><p v-if="itemrule.rebateType=='SPECIAL_POLICY'&& item.showFall" v-for="(itemrule,i) in item.fallRebateRule" :key="itemrule.rebateUid">{{itemrule.rebateName}}:【{{itemrule.rebateTypeName}}】<span v-if="itemrule.quantity>0">满{{itemrule.quantity}}台,</span>每台直减{{itemrule.amount}}元</p><p v-if="itemrule.rebateType=='BASIC_POLICY' && item.showFixed" v-for="(itemrule,i) in item.fixedRebateRule" :key="itemrule.rebateUid">{{itemrule.rebateName}}:【{{itemrule.rebateTypeName}}】<span v-if="itemrule.quantity>0">最高{{itemrule.quantity}}台,</span>直减{{itemrule.amount}}元</p><p v-if="itemrule.rebateType=='SPECIAL_POLICY'&& item.showFixed" v-for="(itemrule,i) in item.fixedRebateRule" :key="itemrule.rebateUid">{{itemrule.rebateName}}:【{{itemrule.rebateTypeName}}】<span v-if="itemrule.quantity>0">满{{itemrule.quantity}}台,</span>每台直减{{itemrule.amount}}元</p></div>                </div>
//拿到数据后进行处理self.orderInfo.goods.forEach((item, index) => {item.rulename='展开';     item.ruleflag=true; }) 

//点击事件

 toggleRule(obj){
  if(obj.ruleflag){
    obj.rulename='收起';
    obj.ruleflag=false;   
  }
  else if(!obj.ruleflag){
    obj.rulename='展开';
    obj.ruleflag=true;  
  }
 },

对于已经创建的实例,Vue 不能动态添加根级别的响应式属性。但是,可以使用 Vue.set(object, key, value)方法向嵌套对象添加响应式属性。例如:

var vm = new Vue({data: {userProfile: {name: 'Anika'}}
})

你可以添加一个新的 age 属性到嵌套的 userProfile 对象;还可以使用 vm.$set 实例方法,它只是全局 Vue.set 的别名:

Vue.set(vm.userProfile, 'age', 27)
vm.$set(vm.userProfile, 'age', 27)

//拿到数据后进行处理self.orderInfo.goods.forEach((item, index) => {item.rulename='展开';     item.ruleflag=true; }) 

//点击事件

 toggleRule(obj){
  if(obj.ruleflag){
    this.$set(obj,'rulename','收起')
    this.$set(obj,'ruleflag',false)
  }
  else if(!obj.ruleflag){
    this.$set(obj,'rulename','展开')
    this.$set(obj,'ruleflag',true)
  }
 },

转载于:https://www.cnblogs.com/xiao-ling-zi/p/10950282.html

vue循环出来的数据,通过点击事件改变了数据,但是视图却没有更新相关推荐

  1. android vue.js点击反应慢,解决vue 界面在苹果手机上滑动点击事件等卡顿问题

    用vue编写项目接近尾声,需要集成到移动端中,在webstorm上界面,运行效果都很完美,但是在苹果手机上各种问题都出现了,原生项目一向滑动流畅,事件响应迅速,可是苹果手机打开这个项目有两个问题, ( ...

  2. vue移动端点击事件延迟_解决Vue 界面在苹果手机上滑动点击事件等卡顿问题_莺语_前端开发者...

    用 (1).滑动页面卡顿, (2).点击事件响应缓慢,百度才发现在苹果手机上有300ms的延迟. 一.滑动页面卡顿 //页面布局 页面内容 在对应的组件的最外层div上加上这样的样式: .conten ...

  3. 在Vue组件中获取全局的点击事件

    使用场景: 在Vue组件中点击某元素之外的地方移除该元素 需求: 如上图所示,"用户列表"页面有三个Vue组件组成,分别是"菜单组件","导航组件&q ...

  4. Vue 移动端项目 百度地图 点击事件无效、不触发 解决方案

    解决百度地图 手机端 点击事件不触发 的一种方案 版权声明:本文为博主原创文章,转载请标明原文出处.  问题背景 我是半路接手的这个项目,该项目使用 Vue 开发的一款 手机端的页面.到手里时,使用百 ...

  5. vue 界面在苹果手机上滑动点击事件等卡顿解决方案

    用vue编写项目接近尾声,需要集成到移动端中,在webstorm上界面,运行效果都很完美,但是在苹果手机上各种问题都出现了,原生项目一向滑动流畅,事件响应迅速,可是苹果手机打开这个项目有两个问题,(1 ...

  6. 给动态生成的id标签添加html,vue动态渲染svg、添加点击事件

    欢迎关注[前端小讴的github],原创技术文章 业务需求(vue项目中) 1.页面展示svg内容 2.监听svg内部的点击事件 3.动态改变svg内部元素的属性和值 html标签 经多次实验,用em ...

  7. 修改百度地图点聚合点击事件获取markers数据

    百度聚合点击事件(需要修改MarkerClusterer.js) this._clusterMarker.addEventListener('click', function (event) {tha ...

  8. vue中设置子组件的点击事件不影响父组件的点击事件

    " 大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂. " 今天分享个技术块儿. 在做项目的过程中,遇到了个问题,简单的描述一下:有一个card卡片,上面绑定了个点击事件,点击c ...

  9. cesium使用primitives加载模型数据,点击事件

    //primitives加载原型模型 var billboards = viewer.scene.primitives.add(new Cesium.BillboardCollection()); f ...

最新文章

  1. HDU 6051 - If the starlight never fade | 2017 Multi-University Training Contest 2
  2. linux 文件的打包和解压
  3. 项目实战丨某家具公司机房改造方案
  4. linux内核mtd分区,linux-kernel – ubifs卷与mtd分区
  5. kali 2020 ssh自启动_自动化所于2020年“国科大杯”创新创业大赛获得多项奖项
  6. 1700 Crossing River
  7. mysql多个on_在多个查询中插入多行的MySQL ON DUPLICATE KEY UPDATE
  8. 【数位DP】CF 54C,509C,431D,628D,855E,1245F,95D
  9. php二进制保存到本地,C# 将二进制字符串保存到本地
  10. SpringMVC注解@RequestParam全面解析____ 注解@RequestParam如何使用加与不加的区别
  11. Linux字体最好看的发行版,如何给任意一款 Linux 发行版添加漂亮的字体
  12. 震精 - PostgreSQL 递归查询 - 树型数据按路径分组输出
  13. 浅谈JS中的原型对象和原型链
  14. VPP 20.09版本正式发布
  15. 喷漆房出现故障应该如何处理
  16. win2008 有几个版本?区别是什么?
  17. 博途V15.1激活工具出错。
  18. 北京开始整治互联网加班了!附 955 不加班公司名单(2022版)
  19. html中用js格式化JSON输出
  20. 六大类专业搜索工具(转)

热门文章

  1. java知识点8——垃圾回收原理和算法、通用的分代垃圾回收机制、 JVM调优和Full GC、开发中容易造成内存泄露的操作
  2. Unity学习笔记2 简易2D横版RPG游戏制作(二)
  3. JSON动态解析()
  4. 工作中常用的第三放的框架
  5. Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理
  6. 设置超链接在新的窗口中打开,而不是在本窗口中打开
  7. Python标准库03 路径与文件 (os.path包, glob包)
  8. 判断N!中二进制中最低位1的位置
  9. html 清除float,css中如何清除float
  10. Use Ghidra To Reverse GenyMotion—Suggestion