Comments (13)
We are running into this issue too. Inside the popover we have several buttons. When a user clicks one of those buttons we would like the popover to close.
from vue-popper.
I solved programmatic closing of popper like this:
https://jsfiddle.net/jonnedeprez/mtk0npbo/
from vue-popper.
Please provide more details.
from vue-popper.
anyone to answer this question?
from vue-popper.
What we ended up doing is putting an @blur on the button that opens the popover. That way any click anywhere will close it. But it closes faster than clicks on the popover can be recognized so we put a delay on it to give time for the click to hit the menu button. In our case we have a table of users, and we use the userID to identify which popover belongs to which row.
<popper
:force-show="showPopper.includes(member.userID)"
trigger="click"
>
<div class="popper">
<button
class="menu"
@click="doSomething(member.userID)"
>
</div>
<div slot="reference"/>
</popper>
<button
class="action-dots"
@click="openPopper(member.userID)"
@blur="slowClose()"
>
Because someone can click from one popover to another we could potentially, for a split second, have two popovers open at once. So we keep track of which ones should be shown in an array.
data() {
return {
showPopper: []
}
}
And our methods look like this:
methods: {
openPopper(popperId) {
this.showPopper.includes(popperId) ? this.showPopper = [] : this.showPopper.push(popperId);
},
slowClose() {
_.delay(() => { this.showPopper.shift() }, 200);
},
}
The ternary is in there because two clicks on the same button should close the popover.
This feels a lot like a hack, so if anyone else has a better solution please share!
from vue-popper.
@RobinCK come and fix the issue
from vue-popper.
Пожалуйста посмотрите похожую проблему #114
from vue-popper.
#114 helps, but I still run into the problem of the popover closing faster than the click on the button inside it being registered.
from vue-popper.
please jsfiddle example
from vue-popper.
@RobinCK спасибо, что заглянули в это
https://jsfiddle.net/greyphilosophy/v0joqcL3/9/
from vue-popper.
from vue-popper.
@huanglvming it's part of the vue-popper. You can search for it to find where it is defined.
from vue-popper.
from vue-popper.
Related Issues (20)
- Content showing when page loading HOT 1
- Prevent popper closing when document is clicked HOT 2
- Disabling 'hide' when specific element clicked HOT 1
- blank changelog
- How to hover poper show delay wait axios success ? HOT 2
- Popper v2 HOT 5
- Error on console, but running well
- Position transition
- 2 VNodes in this.$slots.default array in NuxtJS
- Can vue-popper support vue3.0 HOT 12
- How to call event hide? HOT 2
- Lazy load images HOT 1
- Make popover remain visible when clicking inside HOT 1
- Provide example on how to use custom trigger link/element HOT 1
- BUG: Multiple documentclick events triggered by popper HOT 1
- vertical offset is not working when placement is right HOT 1
- arrow border
- is this package maintained?
- Update: popper.js from v1 to v2 HOT 2
- gpuAcceleration does not work HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vue-popper.