javascript - 使用 Vue,当用户单击 bootstrap-selectpicker 选项时如何调用函数

标签 javascript vuejs2 bootstrap-selectpicker

当用户单击一个选项时,我想调用传递 id 的函数,vue 组件中有多个选择器

<tr v-for="(content) in searchResults" v-bind:key="content.id">
   <td>{{ content.title}}</td>
    <td>
        <select class="selectpicker">
            <option value="" selected disabled>Select Option</option>
            <option value="Reject" @v-on:click="rejectArticle(content.id)">Reject</option>
            <option value="Preview" @v-on:click="previewArticle(content.id)">Preview</option>
            <option value="Approve" @v-on:click="approveArticle(content.id)">Approve</option>
        </select>
    </td>
</tr>

然而这是错误的。完成此任务的正确方法是什么?

最佳答案

我认为最简单的方法是使用@change,如响应中所述,这就是它的样子 模板:@change="onChange($event, content.id)"

在处理程序中,您可以使用 event.target.value 访问该值

new Vue({
  el: "#app",
  data: { searchResults:[{id:1, title:'ABC'}, {id:2, title:'DEF'}] },
  methods: {
  	onChange(event, id) {
   	  console.log(event.target.value, id)
      switch (event.target.value) {
        case rejectArticle:
          this.rejectArticle(id)
          break;

        case previewArticle:
          this.previewArticle(id)
          break;

        case approveArticle:
          this.approveArticle(id)
          break;

        default:
          break;
      }
    }
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.js"></script>
<div id="app">
 <table>
  <tr v-for="(content) in searchResults" v-bind:key="content.id">
     <td>{{ content.title}}</td>
      <td>
          <select class="selectpicker" @change="onChange($event, content.id)">
              <option value="" selected disabled>Select Option</option>
              <option value="Reject">Reject</option>
              <option value="Preview">Preview</option>
              <option value="Approve">Approve</option>
          </select>
      </td>
  </tr>
 </table>
 </div>

关于javascript - 使用 Vue,当用户单击 bootstrap-selectpicker 选项时如何调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58956313/

相关文章:

javascript - 如何在引导选择选择器中为选项(下拉菜单)设置固定宽度

javascript - Bootstrap Select 跳转到输入字母

javascript - 如何调试时序问题 - 顺序 AJAX 请求、异步链等

javascript - 未在 Object.keys 或 Object.getOwnPropertyNames 下列出但可以调用的函数

vue.js - Vue JS,如果用户通过身份验证则显示不同的菜单

javascript - 使 bootstrap-select 下拉菜单成为必需的

javascript - 有没有办法在 JavaScript 中反转 Intl.NumberFormat 的格式

javascript - 即使应用程序在后台,如何保持后台计时器在 native react 中运行

vue.js - Vue-Router 中的未知元素 : <router-view> - did you register the component correctly?

javascript - 从父级更新组件上的数据属性 - Vue2 js