赞
踩
需求是:Vue3中,需要V-for遍历输出表格,其中某些记录需过滤不显示。一是不能同时在一个元素中使用V-for 和v-if,原因是v-if优先级在Vue3中高于v-for。二是,网上查询,基本思路是通过计算属性,重新生成一个用于显示的列表,代码比较麻烦而且存储空间占用也比较大。
经尝试,有以下解决方法:
在内部多用一层标记<template>包裹。如代码所示:
<table class="tablelist">
<tr><td>表头</td></tr>
<template v-for="(item,index) in DataSets">
<tr v-if="!item.hasDel">
<td>{{ item.hasDel?"是":"否" }}</td>
<td >{{ item.Name }}</td>
<td >{{ item.Size}}</td>
<td><el-icon title="移除"><Delete @click="item.hasDel=true;"/></el-icon></td>
</tr>
</template>
</table>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。