<uni-card id="item.id" :title="item.supplierName" :extra="item.publicationDate" @click="goToDetail(item)" :class="{viewed: setViewedMarksStyle(item.id)}"> <text>项目名称: {{item.projectName}}</text> <text style="color: #000;float: right;">采购金额: {{item.purchaseAmountRepair+' 元'}}</text> </uni-card>setViewedMarksStyle(id) { let viewedMarks = JSON.parse(uni.getStorageSync('viewedMarks') || '[]'); return viewedMarks.includes(id); }列表没有gray属性,使用id判断,列表刷新才改变颜色
时间: 2024-04-25 08:27:38 浏览: 35
【ASP.NET编程知识】在ASP.NET 2.0中操作数据之五十一:从GridView的页脚插入新记录.docx
这段代码看起来是一个 Vue 组件,用于渲染一个项目卡片列表。其中,uni-card 是一个自定义组件,通过传入不同的 props 来渲染不同的卡片。这个组件还添加了一个 @click 事件,当用户点击卡片时会触发 goToDetail 方法。
setViewedMarksStyle 方法是用来判断当前卡片是否被用户浏览过的,如果被浏览过,则返回一个包含 "viewed" 类的 class。这个方法会从本地存储中获取之前浏览过的卡片 id,然后判断当前卡片的 id 是否在其中。
这个列表没有 "gray" 属性,而是通过设置 class 来改变卡片的颜色。当用户浏览过卡片时,对应的卡片会添加 "viewed" 类,从而改变其颜色。列表刷新时,这些 class 会重新计算,从而保证每个卡片的颜色都是正确的。
阅读全文