gpt4 book ai didi

vue.js - 从 row.clicked 事件中获取行元素

转载 作者:搜寻专家 更新时间:2023-10-30 22:58:11 24 4
gpt4 key购买 nike

我使用的是来自 Bootstrap Vue 的表格,我试图在点击一行时显示行的详细信息。

如文档所述,我使用了 row-clicked 事件,但我没有找到任何带有 toggleDetails 方法的行详细信息。所以我什至不知道如何打开它以及 toggleDetails 来自哪里。

有一种方法可以使用 row.clicked 事件打开此详细信息行吗?

或者我应该使用另一种方法来做到这一点?

你有什么线索吗?

编辑

有一些代码可以进一步说明我的问题,我的表格中有详细信息行。

<b-table
v-if="items"
:items="items"
:fields="fields"
show-empty
striped
hover
responsive
empty-text="There is no messages to show"
class="col-sm-12 col-md-10"
@row-clicked="test"
>
<template
slot="message"
slot-scope="row"
>
{{ row.item.message }}
</template>
<template
slot="row-details"
slot-scope="row"
>
<code>{{ row.item.message }}</code>
</template>
</b-table>

您可以看到我在表格上使用的 row.clicked 事件,然后是我尝试打开行详细信息的方法。这是一个带有一些 console.log 的简单方法

methods: {
test(item, index, event) {
console.log(item, index, event);
},
},

最佳答案

您所要做的就是在“基本”行的某处放置一个按钮,该按钮调用 toggleDetails 函数特定行。

此按钮和详细信息行的代码应如下所示:

<template slot="actions" slot-scope="row">
<!-- We use @click.stop here to prevent a 'row-clicked' event from also happening -->
<b-button size="sm" @click.stop="row.toggleDetails">
{{ row.detailsShowing ? 'Hide' : 'Show' }} Details
</b-button>
</template>
<template slot="row-details" slot-scope="row">
<!-- Your row details' content here -->
</template>

您可以在 documentation 中找到更多示例和解释。

如果你想通过点击行中的任意位置来显示行的详细信息,首先你应该为每个项目对象添加一个 _showDetails 变量:

items: [
{ foo: true, bar: 40, _showDetails: false },
...
{ foo: true, bar: 100, _showDetails: false }
]

然后您只需为行单击事件添加适当的功能:

<b-table @row-clicked="onRowClicked" ...></b-table>

在你的组件方法中:

methods: {
onRowClicked (item, index, event) {
item._showDetails = !item._showDetails;
}
}

关于vue.js - 从 row.clicked 事件中获取行元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51836186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com