Vue.js 使用v型槽道具的v-if模板条件

Vue.js 使用v型槽道具的v-if模板条件,vue.js,vuejs2,vuetify.js,Vue.js,Vuejs2,Vuetify.js,我正在尝试设置一个条件以启用命名插槽,如下所示: <template v-slot:item="{ item }" v-if="item.loading"> <v-progress-circular indeterminate color="primary"></v-progress-circular> </template> 我的用例是Vuetify datatable:每个项都有一个“loading”属性,我只想在该行正在加载时激活“

我正在尝试设置一个条件以启用命名插槽,如下所示:

<template v-slot:item="{ item }" v-if="item.loading">
  <v-progress-circular indeterminate color="primary"></v-progress-circular>
</template>

我的用例是Vuetify datatable:每个项都有一个“loading”属性,我只想在该行正在加载时激活“item”插槽(“item”插槽是用来替换行的默认呈现的插槽)

错误在于
v-if
中未定义
item
,这似乎符合逻辑:item仅为
模板
子标签定义

有办法解决此问题吗?

您可以使用计算属性筛选传递到datatable的项

你能不能不在加载的基础上交换元素?
Vue.config.devtools=false;
Vue.config.productionTip=false;
var app=新的Vue({
el:“#应用程序”,
数据:{
项:[{data:,加载:true},{data:“某些数据”,加载:false}]
}
})

加载。。。
{{item.data}

这是个好主意,但我想特别向用户显示行正在加载,那么您可以将v-if移动到
v-progress-circular
?这就是问题所在:如果我这样做,模板将“覆盖”默认的线渲染,因此当加载为false时,没有渲染我编辑了答案你不能这样做吗?不可能我没有做v-for,数据表正在做