如何根据v-for的值,在我的模态窗口上(在按钮点击时)获取所选数据?

23 浏览
0 Comments

如何根据v-for的值,在我的模态窗口上(在按钮点击时)获取所选数据?

我是Vue的新手,正在使用Bootstrap模态框来显示产品信息。我有一些网格容器,每个容器包含一个产品图片、描述和两个按钮。其中一个按钮(More details >>)被点击时,应该弹出一个模态窗口,显示该网格容器中相同的产品描述和图片。

第1、2和4区域完全正常,根据v-for的值分别为每个网格容器显示产品数据。第3区域出现问题,当我点击More details >>按钮时,只能看到一个淡黑色的屏幕。我不确定我在这里做错了什么,非常感谢您的帮助。

0
0 Comments

问题的原因是在v-for中的b-modal没有给一个唯一的ID。当点击按钮时,实际上是同时打开了所有的模态窗口,并且堆叠了背景,使其看起来非常暗。解决方法是使用产品的ID(假设是唯一的)作为模态窗口的ID,使其唯一。

代码示例:

{{ allRecords() }}

{{ product.amount }}
{{ product.Description }}
More Details >>

{{ product.Name }}

{{ product.Description }}

问题可能与背景显示在前面有关。您可以尝试在打开窗口后查看DOM,以查看模态窗口是否实际存在。您可以尝试参考上面提供的代码示例,它是正常工作的。

以上是该问题的原因和解决方法。

0
0 Comments

问题出现的原因是点击"More Details"按钮时,会显示多个模态窗口,无法正确获取选中的数据。

解决方法是在包裹中添加一个模态窗口,并将选择的产品存储在数据变量中。

具体代码如下:

{{ allRecords() }}

{{ product.amount }}
{{ product.Description }}
More Details >>

{{ chosenProduct.Name }}

{{ chosenProduct.Description }}

Vue.use(BootstrapVue)
var app = new Vue({
    'el': '#myapp',
    data: {
        products: [],
        chosenProduct: null
    },
    methods: {
        chooseProduct: function (product) {
            this.chosenProduct = product
        },
        allRecords: function(){
            this.products = [
                {
                    ID: 1,
                    Description: 'dek',
                    Name: 'Name',
                    amount: 100
                },
                {
                    ID: 2,
                    Description: 'dek 2',
                    Name: 'Name 2',
                    amount: 300
                }
            ]
        },
    }
})

在这个解决方案中,添加了一个click事件监听器,当点击"More Details"按钮时,调用chooseProduct方法来更新chosenProduct的值。这样,模态窗口就能正确显示选中的产品的详细信息。

0
0 Comments

问题出现的原因是在点击"More Details"按钮时,无法获取到所选数据的原因。解决方法是添加一个名为selectedProduct的属性,并在点击事件中将当前产品赋值给selectedProduct成员。具体实现是在HTML中添加一个b-modal组件,然后在按钮的点击事件中调用selectProduct方法,将所选产品赋值给selectedProduct。在JavaScript中定义一个Vue实例,并在data中定义products、productID和selectedProduct三个属性。在methods中定义了allRecords和selectProduct两个方法,其中selectProduct方法用于将选中的产品赋值给selectedProduct属性。在实现过程中,需要将b-modal组件放在v-for循环之外。

0