vue.js - 如何在列表末尾显示组件
问题描述
我将如何在列表末尾显示组件?假设我有一个包含如下对象的列表:
items: [
{name: 'Single Column', id: 1},
{name: 'Double Columns', id: 2},
{name: 'Triple Columns', id: 3},
{name: 'Custom', id: 0}
],
使用 v-for 显示列表的内容很简单(注意我在这里使用 Vuetify):
<v-list>
<v-list-item
v-for="item in items"
:key="item.id"
link
@click="setDashboardBluePrint(item)"
>
<v-list-item-title v-text="item.name"></v-list-item-title>
</v-list-item>
</v-list>
但是现在假设{name: 'Custom', id: 0}
我想要一个按钮,而不是项目列表中最后一个元素的对象。让我们假设我已经有一个自定义按钮组件,<Dialog/>
我将如何<Dialog/>
在堆栈中显示该组件,以代替{name: 'Custom', id: 0}
本来的位置。
解决方案
您可以使用slice
获取除最后一项以外的所有项目,并v-list-item
在模板中为最后一项附加另一个:
<v-list>
<v-list-item
v-for="item in items.slice(0, items.length - 1)"
:key="item.id"
link
@click="setDashboardBluePrint(item)"
>
<v-list-item-title v-text="item.name"></v-list-item-title>
</v-list-item>
<v-list-item>
<Dialog />
</v-list-item>
</v-list>
推荐阅读
- python - 在python中为非常大的数据集执行迭代函数的更好方法
- azure - 无法从启用了私有端点的 ACR 中提取 WebApp 中的图像
- sas - 如何将 SAS 数据集转换为 CSV 文件,而其中的单个文件具有逗号值
- javascript - asp.net webforms - 对象不支持属性或方法“对话框”
- flutter - 如何使用 API Flutter 覆盖谷歌驱动器中的文件
- javascript - 忽略 React Native 中的 SSL 警告
- python - 尝试从 excel 文件中读取多张工作表时出错
- google-analytics - Google Analytics Data API (GA4) - item.variant 维度?
- tfjs-node - danfojs-node 的安装错误 - 如何在 tfjs-node 中跳过“libtensorflow”的下载?
- php - 未定义的属性:App\Ticket::$status laravel 7