在使用el-popover的时候最开始直接使用v-popover指令来写弹出框,是没有问题的,但是当把它放在表格里的时候,就会出现错乱,点这个按钮跳到别的操作上面,
<el-popover
ref="popover5"
placement="top"
width="160"
v-model="visible2">
<p>这是一段内容这是一段内容确定删除吗?</p>
<div style="text-align: right; margin: 0">
<el-button size="mini" type="text" @click="visible2 = false">取消</el-button>
<el-button type="primary" size="mini" @click="visible2 = false">确定</el-button>
</div>
</el-popover>
<el-button v-popover:popover5>删除</el-button>
后来采用了另一种写法,使用 slot="reference"插槽,就解决了循环错乱的问题,还有这里删除按钮要重新渲染页面,所以采用v-show便于数据切换,消耗更低。
<el-popover
v-show="deletable"
v-model="visible">
<p>是否删除该行数据?</p>
<div style="text-align: right; margin: 0">
<el-button size="mini" type="text" @click="visible = false">取消</el-button>
<el-button type="primary" size="mini" @click="toDelete">确定</el-button>
</div>
<el-button
class="delete"
type="text"
slot="reference">删除</el-button>
</el-popover>
这里只粘了部分html的代码,js部分不需要有什么变动。把点击的函数加上和visible,deletable定义一下就好了。
网友评论