javascript - Vue.js - 在 v-for 中更改单个表行的类

标签 javascript twitter-bootstrap vue.js

我正在显示使用 v-for 动态生成的客户表。每行都有一个按钮,用于将客户 ID 添加到将发送到 API 的对象中。问题是,我想将 Bootstrap .success 类添加到单击的行,以便用户知道已选择客户,但我只能实现表中的所有行都获得 .success 类。另外,我希望当用户单击另一个客户时,所选客户会丢失 .success 类。 这是我的代码:

<table class="table table-responsive table-striped table-hover">
<tbody>
  <tr v-for="customer in customers">
    <td><button class="btn btn-default" v-on:click.prevent="selectCustomer(customer.id)"><i class="glyphicon glyphicon-ok"></i></button></td>
    <td>{{ customer.first_name }}</td>
    <td>{{ customer.last_name }}</td>
    <td>{{ customer.oib }}</td>
    <td>{{ customer.phone }}</td>
    <td>{{ customer.email }}</td>
    <td>{{ customer.street }} {{ customer.city }}, {{ customer.country }}</td>
  </tr>
</tbody>

export default {
data(){
  return {
    customers: [],
    selectedCustomer: ''
  }
},
methods: {
  selectCustomer(id, clicked){
    this.selectedCustomer = id;
    console.log(this.selectedCustomer);
  }
}

谢谢!

最佳答案

success 类绑定(bind)到基于 selectedCustomer 值的行应该可以帮助您实现您正在寻找的目标。像这样的东西,未经测试:

<table class="table table-responsive table-striped table-hover">
<tbody>
  <tr v-for="customer in customers" v-bind:class="{'success': (customer.id == selectedCustomer)}">
    <td><button class="btn btn-default" v-on:click.prevent="selectCustomer(customer.id)"><i class="glyphicon glyphicon-ok"></i></button></td>
    <td>{{ customer.first_name }}</td>
    <td>{{ customer.last_name }}</td>
    <td>{{ customer.oib }}</td>
    <td>{{ customer.phone }}</td>
    <td>{{ customer.email }}</td>
    <td>{{ customer.street }} {{ customer.city }}, {{ customer.country }}</td>
  </tr>
</tbody>

关于javascript - Vue.js - 在 v-for 中更改单个表行的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41630831/

相关文章:

javascript - CORS 与 Express.js 和 Angular2

javascript - 为什么 BigInt(largeNumber) 仍然不精确?

css - 没有导航栏元素的 Bootstrap 导航切换

javascript - 当事件 $emit 发出时,Vue $on 不运行我的函数,即使我可以看到在 Vue 控制台中触发的事件

javascript - 使用 Vue.js 的 Firebase 电话号码身份验证不起作用

javascript - 匹配除少数字符外的 ascii 字符

javascript - Java 和 JavaScript 之间交换 `Date` 的最佳实践,考虑 DST

javascript - 如何让这些按钮向右浮动并垂直对齐一些垂直间距

c# - 使用 Twitter Bootstrap、C#、asp.net 和 javascript 上传文件

javascript - Vetur 找不到 package.json