Element UI (餓了么) 中 el-popover 手動關閉
el-popover彈出框 關閉和打開分別用 doClose() 和 doShow() 方法
Element UI文檔中沒有提到這兩個方法
一般情況下:
<el-popover ref="popoverRef" placement="top" width="350">
<p class="font-size-18 fontWeight-600 m-b-20">排序權重</p>
<div>
<span>XXX</span>
</div>
<div style="text-align: right; margin: 0">
<el-button type="text" size="mini" @click="determinePopover(XXX)">確定</el-button>
</div>
<el-button @click="set_popoverVisible(XXX)" type="text" slot="reference">權重</el-button>
</el-popover>
點擊確定的時候調用關閉的事件:
this.$refs.popoverRef.doClose() //關閉的
//this.$refs.popoverRef.doShow() //打開的
如果是在循環中或表格中
ref="popoverRef"同名的就會生成很多個 要確定唯一才能關閉
<el-table-column label="操作" fixed="right">
<template slot-scope="scope">
<el-button type="text" @click="toEditDataPage(scope.row.id)">編輯</el-button>
<el-popover :ref="'popoverRef_' + scope.row.id" placement="top" width="350">
<span>XXX</span>
<div style="text-align: right; margin: 0">
<el-button type="text" size="mini" @click="determinePopover(scope.row.id)">確定</el-button>
</div>
<el-button @click="set_popoverVisible(scope.row.XXX)" type="text" slot="reference">權重</el-button>
</el-popover>
</template>
</el-table-column>
確定唯一: :ref="'popoverRef_' + scope.row.id" 或者取第幾個也行
點擊確定的時候調用關閉的事件:
setTimeout(() => {
if (this.$refs && this.$refs['popoverRef_' + id]) {
//重點是以下兩句
this.$refs['popoverRef_' + id].doClose() //關閉的
this.$refs['popoverRef_' + id].doShow() //打開的
//重點是以上兩句
}
}, 0)