美文网首页
[ Element-UI ] Popover 手动隐藏 - do

[ Element-UI ] Popover 手动隐藏 - do

作者: HEY_SHUANG | 来源:发表于2020-09-25 16:40 被阅读0次

    在 Table 中使用 Popover 时遇到这个奇葩状况:

    当 hover 到 Link 的时候,会显示 Popover,没问题。👌
    但是由于 Link 上绑定了点击跳转事件,当我在 hover 着的情况下按下鼠标左键,页面是跳转了,然鹅。。。 Popover 还在!!😮
    然后好像一定要再在 Popover 上晃一下它才会消失。。。

    Add ref attribute to the popover
    ...
    <el-table-column>
      <template slot-scope="scope">
        <el-popover 
          :ref="`popover-${scope.row.id}`" 
          :content="scope.row.description" 
          placement="right-start" 
          trigger="hover">
          <el-link type="primary" @click="goTo(scope.row.id)">
            {{ scope.row.name }}
          </el-link>
        </el-popover>
      </template>
    </el-table-column>
    ...
    
    Call doClose() manually
    goTo(id) {
      this.$router.push({
        name: 'list',
        params: { id: id },
      })
      // [ hovering on item name will display its description popover ]
      // ISSUE - when hovering on item name then click to navigate to item page
      // the popover stays on the new page
      // FIX - manually close the visible popover during the routing
      scope._self.$refs[`popover-${id}`].doClose()
    }
    

    相关文章

      网友评论

          本文标题:[ Element-UI ] Popover 手动隐藏 - do

          本文链接:https://www.haomeiwen.com/subject/roctuktx.html