el-popover的手动隐藏

遇到一个情况是要在popover里加一个确定和取消按钮(如下图),在进行完操作后点击按钮关闭,我这边项目用的是vue3,然后很明显可以从element文档中看到有v-model属性控制,于是兴高采烈的加上,然后没出现效果,有点懵,于是对于这个属性抱有怀疑态度,但还是在vue2上进行了操作。

vue2测试:

value / v-model状态是否可见Boolean

html:

<el-popover v-model="popshow"
	placement="bottom-start" width="520px"
	trigger="click">
    <a slot="reference">这是一个popover</a>
	<span>这是popover的内容</span>
	<el-button type="primary" @click="closepop">关闭popover</el-button>
</el-popover>

js:

//data
popshow:false,

//methods
methods: {
	closepop(){
		this.popshow = false
	},
}

测试后发现在vue2中是可以达到效果的,那么只能在想新的办法。

于是想到查看vue3的时候的节点属性

vue3测试:

        html

<el-popover v-model="popshow"
placement="bottom-start" width="520px"
trigger="click" ref="popinfo">
	<a #reference>这是一个popover</a>
	<span>这是popover的内容</span>
	<el-button type="primary" @click="closepop">关闭popover</el-button>
</el-popover>

        js

const textinfo = ref(null);//textinfo ref="textinfo" 


const closepop= ()=>{
    console.log(textinfo.value)
}

        查看打印结果,发现有hide方法,进行测试

         修改js

这里我用的编辑器vscode,下面函数会报红提示Property 'hide' does not exist on type 'never'.翻译就是:类型“never”上不存在属性“hide”。所以修改ref(null)为下面。


const textinfo = ref({hide:()=>{}});

const closepop= ()=>{
    textinfo.value.hide()
}

测试后效果达到。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值