ElementUI手动控制popover弹层的显示与隐藏

本文介绍了如何在ElementUI中手动控制popover弹层的显示与隐藏。通过设置el-popover的v-model绑定值为true或false,可以轻松实现弹窗的显示和隐藏。此外,触发弹窗的显示可以利用trigger属性,如click/focus/hover/manual,而隐藏弹窗是主要讨论的重点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

是时候表演真正的技术了

网上找了一堆都是没用的。。。。搜的第一个是啥也没说

手动控制el-popover弹窗的显示与隐藏其实很简单,el-popover层绑定一个v-model的值为true或者false就行了。这是官网上给的Attributes。

<el-popover v-model="showPopover">

在这里插入图片描述
而且显示根本不用控制,el-popover有一个trigger属性,trigger可以为click/focus/hover/manual,默认值是click,所以单击就能触发,主要是弹窗的隐藏问题。

<el-popover trigger="click">

在这里插入图片描述

<el-popover
  placement="right"
  width="400"
  trigger="click"
  v-model="showPopover"
  >
  <el-table :data="gridData">
    <el-table-column width="150" property="date" label="日期"></el-table-column>
    <el-table-column width="100" property="name" label="姓名"></el-table-column>
    <el-table-column width="300" property="address" label="地址"></el-table-column>
  </el-table>
  <!--激活控制弹窗的显示-->
  <el-button slot="reference">click 激活</el-button>
  <!--在加个按钮绑定一个方法控制弹窗的隐藏-->
  <el-button class="btn-normal" size="medium" @click="closePopover">popover弹窗关闭</el-button>
</el-popover>

<script>
  export default {
    data() {
      return {
        showPopover:false,//v-model默认值是false, click激活变成true
        gridData: [{date: '2016-05-02',name: '王小虎',address: '上海'}]
      }
    },
    methods: {
      closePopover(){
        this.showPopover = false//关闭就是把v-model设置成false
      }
    }
  }
</script>
el-popover 组件提供了两个事件用于控制它的显示隐藏:`show` 和 `hide`。 你可以在元素上使用 `v-on` 指令监听这两个事件,然后在触发时调用相应的方法来控制 el-popover显示隐藏。 例如,在下面的代码中,我们为一个按钮绑定了 `showPopover` 方法,该方法用于在按钮上触发 `show` 事件,从而显示 el-popover 组件: ```html <template> <div> <el-button v-on:click="showPopover">显示 el-popover</el-button> <el-popover ref="popover" title="标题" width="200"> <p>这是 el-popover 的内容</p> </el-popover> </div> </template> <script> export default { methods: { showPopover() { this.$refs.popover.$emit('show') } } } </script> ``` 同样,我们可以为 el-popover 组件绑定 `hidePopover` 方法,该方法用于在 el-popover 上触发 `hide` 事件,从而隐藏组件: ```html <template> <div> <el-button v-on:click="showPopover">显示 el-popover</el-button> <el-popover ref="popover" title="标题" width="200" v-on:hide="onHide"> <p>这是 el-popover 的内容</p> </el-popover> </div> </template> <script> export default { methods: { showPopover() { this.$refs.popover.$emit('show') }, hidePopover() { this.$refs.popover.$emit('hide') }, onHide() { console.log('el-popover 隐藏了') } } } </script> ``` 在上面的代码中,我们为 el-popover 组件绑定了 `onHide` 方法,该方法用于在组件隐藏时打印一条消息。当点击按钮触发 `show` 事件显示 el-popover 后,我们再次点击按钮触发 `hide` 事件,从而隐藏组件。在组件隐藏时,会触发 `v-on:hide` 监听器并执行 `onHide` 方法,从而打印出一条消息。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值