#vue.js #bootstrap-4 #toggle #collapse #bootstrap-vue
#vue.js #bootstrap-4 #переключить #коллапс #bootstrap-vue
Вопрос:
Итак, у меня есть v-b-toggle, который переключает другие div. Все работает нормально, но в div, где находится v-b-toggle, у меня есть флажок ввода. Проблема в том, что если вы нажмете на этот флажок, переключение также будет работать (откройте div, а затем мгновенно закройте его). Есть ли какая-либо возможность отключить событие переключения на этом конкретном входе?
код: <div class="box-header" v-b-toggle="$id(`collapse-${i}`)"><input type="checkbox"></div>
Ответ №1:
Вы можете добавить @click.stop
к своему вводу данные, которые остановят распространение событий щелчка.
stop
Модификатор является вспомогательным средством для остановки распространения
Вы также можете прочитать больше о event modifiers
vue в документах vue.
new Vue({
el: '#app'
})
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-vue/2.18.1/bootstrap-vue.min.css" />
<script src="//cdn.jsdelivr.net/npm/vue@2.6.12/dist/vue.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-vue/2.18.1/bootstrap-vue.min.js"></script>
<div id="app">
<div v-b-toggle.my-collapse>
Some text
<input type="checkbox" @click.stop/>
</div>
<b-collapse id="my-collapse">
Hello<br />
World
</b-collapse>
</div>