vue.js - Bootstrap-vue:如何将数据传递给模态?

标签 vue.js bootstrap-vue

我正在尝试使用 bootstrap-vue 模态来显示项目集合的详细信息。

我想要的是将数据传递给模态以显示一条简单的消息。

我首先遍历记录集以显示按钮。

<ul>
  <li v-for="item in items">{{ item.first_name }} 
      <b-button size="sm" v-b-modal="'myModal'" user="'item'">
        Saluta {{item.first_name}}
      </b-button> 
  </li>
</ul>

然后在模式中显示名称:

<b-modal id="myModal" :user="'user'">
  Hello {{user}}!
</b-modal>

这是我的 fiddle https://jsfiddle.net/bptLavov/259/

最佳答案

这很好用:

HTML:

<div id="app">
  <ul>
    <li v-for="item in items">
      {{ item.first_name }}
      <b-button size="sm" v-b-modal="'myModal'" user="'item'" click="sendInfo(item)">
        Saluta {{item.first_name}}
      </b-button>
    </li>
  </ul>

  <b-modal id="myModal">
    Hello {{selectedUser.first_name}} {{selectedUser.last_name}} !
  </b-modal>
</div>

JavaScript:

new Vue({
  el: '#app',
  data: {
    items :
    [
        { first_name: 'Dickerson', last_name: 'Macdonald' },
        { first_name: 'Larsen', last_name: 'Shaw' },
        { first_name: 'Geneva', last_name: 'Wilson' },
        { first_name: 'Jami', last_name: 'Carney' }
    ],
    selectedUser: '',
  }, 
  methods: {
    sendInfo(item) {
        this.selectedUser = item;
    }
  }

})

它的作用是:

1) 执行名为sendInfo

的方法

2) 该方法将设置 selectedUser 变量内部数据与选定的用户,由于 v-on:click (@click) 指令而发送信息取决于在 v-for 迭代中。因此,每个按钮都会发送正确的信息。

3) 显示模态内的信息

关于vue.js - Bootstrap-vue:如何将数据传递给模态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51271337/

相关文章:

vue.js - 如何在 eslint-plugin-vue 中禁用 eslint?

bootstrap-4 - Bootstrap Vue 的垂直间距

laravel - Bootstrap-Vue CSS 在 Laravel Mix 中的编译

javascript - Bootstrap Vue perPage 用于自定义列或行

javascript - 如何使用 Vue 正确检查所有复选框并更改状态?

javascript - Vuejs DOM 未更新

vue.js - View |如何从特定的 NPM 包导入样式表?

html-table - Vue - 如何将表列绑定(bind)到数据对象?

vue.js - 在 Vue CLI 3 项目中使用自定义 Bootstrap SASS 的步骤是什么?

javascript - 基于相邻单元格值的 B 表 tdClass