我正在使用vue2中的1 component = 1文件样式进行开发.
我有一个通过Bootstrap-Vue表组件构建的表,我正在使用提供程序向它传递一个项目.
其中一列包含每行的修改按钮.
这些按钮触发bootstrap-modal.
我正在使用V-if来初始化表及其属性.
<b-modal v-if='toShow' id="modalallergy" @hide="resetModal"> <h4 class="my-1 py-1" slot="modal-header">Allergie {{ modalDetails._id }}</h4> <b-container class="bv-example-row"> <b-row> <b-col> identifiant : {{modalDetails.data.content}} </b-col> <b-col> Catégorie : {{modalDetails.data.content}} </b-col> </b-row> </b-container> </b-modal> <b-modal id="modalallergy-edit" @hide="resetModal"> <h4 class="my-1 py-1" slot="modal-header">Edition de l'allergie {{ modalDetails._id }}</h4> <pre>{{ modalDetails.data}}</pre> </b-modal>
这是我的模态,就在上面我有我的按钮:
<button class="btn btn-xs btn-success" @click.stop="details(row.item,row.index,$event.target)"> <span class="glyphicon glyphicon-search"></span> </button>
及以下< script>和方法部分我接到我的电话:
details (item,index,button) { this.modalDetails.data = item this.modalDetails.index = index this.modalDetails._id = item.content._id this.$root.$emit('bv::show::modal','modalallergy',button) }
问题是只有第二次点击按钮才会触发模态打开. (桌子的属性还没有水合 – 至少从按钮和模态的角度来看不是这样.)
我也尝试使用布尔值并手动传递参数,但在这种情况下它根本不打开.
解决方法
检查您的代码,我不确定,但您可以尝试
details (item,button) this.$root.$emit('bv::show::modal',button) }