vuejs2 - 循环时需要访问 Bootstrap Vue 表中的项目索引
问题描述
- 我有一个 Bootstrap-Vue 父 b 表运行循环投标。每个投标也有项目。最初,它显示每行的每个出价。
- 单击该行时,它会显示一个包含每个投标项目的子表。因此,内部的子表
<template slot="hidden-details>
会尝试循环bid.items
显示每个出价的这些项目。由于我无法获得较早的出价循环索引,因此我无法运行此嵌套循环,除非我手动将其设置为::items="bid[0].items
脚本
new Vue({
el: '#app',
data:{
bids: [{
id: "Bid Number One",
item: [{
item_number: 11,
item_text: "Item 1 Comment 1",
code: "1",
},
{
item_number: 22,
item_text: "Item 1 Comment 2",
code: "2",
}
]
},
{
id: "Bid Number Two",
item: [{
item_Number: 33,
item_text: "Item 2 Comment 3",
code: "3",
},
{
item_Number: 44,
item_text: "Item 2 Comment 4",
code: "4",
}
]
}
],
bidHeaderFields:[
{key:"id", label: "Header"},
],
bidIndex: 0,
},
methods: {
showBidItems(bids, index) { // Here I receive row index from @row-clicked
this.bids[index]._showDetails = !this.bids[index]._showDetails;
this.bidIndex = index; // I change the value of bidIndex to row-clicked index
},
}
})
这个 JSFiddle有表格代码。
解决方案
完整行的项目数据在作用域详细信息槽中可用。如果投标详细信息是项目的子数组,您可以将该数组传递给子 b 表:
<b-table :items="bids" :fields="..." ... >
<template slot="row-details" slot-scope="{ item }"> // item === 'bid' row data
// item.item === the rows 'item' array
<b-table :items="item.item" :fields="..."></b-table>
</template>
</b-table>
推荐阅读
- java - 将 TextFlow 添加到 FXML 控制器会使 GUI 变为空白
- python - 没有 distutils.version 的 Python 版本列表
- c# - 调用 System.Diagnostics.Process.GetProcesses() 未返回 C# 最小化窗口
- xcode - 有什么方法可以从终端为 Xcode 添加新的启动图像
- docker - 使用主机库的 Docker
- jquery - 如何在 JavaScript 闭包中使用全局变量?
- css - 为什么我的浮动边距底部不正确?
- sql-server - Go 数据库客户端杀死与 SQL Server 的连接比预期的要多
- azure-data-lake - 可以将系统分配的托管服务标识添加到 AAD 组吗?
- python - PyEphem:RA 和分离问题