gpt4 book ai didi

javascript - 如何在 Vuejs 中单击时突出显示表格行?

转载 作者:行者123 更新时间:2023-12-05 08:40:12 25 4
gpt4 key购买 nike

我想在 Vuejs 中突出显示“@click”上的表格行。目前我在让它工作时遇到问题。

这是我的 html 模板,我在其中将类 active 绑定(bind)到 bool 值“isActive”。

<table
class="paginatedTable-table hide-table">
<thead class="paginatedTable-table-head">
<tr :class="{active: isActive}" class="paginatedTable-table-head-row">
<th
v-for="(column, key) in columns"
:key="key"
:class="column.align"
class="paginatedTable-table-head-row-header"
@click="sortTable(column)">
{{ column.label }}
<i
v-if="sortOptions.currentSortColumn === column.field"
:class="sortOptions.sortAscending ? icons.up : icons.down"
class="sort-icon" />
</th>
</tr>

我在数据函数中声明 isActive 并将其设置为 false。

data() {
return {
width: '100%',
'marginLeft': '20px',
rowClicked: false,
filteredData: this.dataDetails,
isActive: false,

我将 isActive 设置为 true 的按钮点击功能

async selectRow(detail) {
this.isActive = true;
this.width = '72%';
this.rowClicked = true;

这部分我不太确定。这里我在 Sass 中设置 Css。

 tr:not(.filters):not(.pagination-row) {
background-color: $white;
&.active{
background-color: $lc_lightPeriwinkle;
}

最佳答案

例如,要遍历用户表,并在单击时突出显示 tr:

<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr v-for="user in users" @click="selectRow(user.id)" :key="user.id" :class="{'highlight': (user.id == selectedUser)}">
<td>{{ user.id }}</td>
<td>{{ user.name }}</td>
<td>{{ user.email }}</td>
</tr>
</tbody>
</table>

声明您的数据:

data(){
return {
users: [],
selectedUser: null
}
}

在您的 selectRow 方法中;

selectRow(user){
this.selectedUser = user;
//Do other things
}

然后是你的类(class):

. highlight {
background-color: red;
}
tr:hover{
cursor: pointer;
}

关于javascript - 如何在 Vuejs 中单击时突出显示表格行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56567135/

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