ElementPlus Popover 彈出框

2021-09-26 17:56 更新

Popover 彈出框

基礎(chǔ)用法

Popover 的屬性與 Tooltip 很類似,它們都是基于Vue-popper開發(fā)的,因此對于重復(fù)屬性,請參考 Tooltip 的文檔,在此文檔中不做詳盡解釋。

trigger屬性用于設(shè)置何時觸發(fā) Popover,支持四種觸發(fā)方式:hover,click,focus 和 manual。對于觸發(fā) Popover 的元素,有兩種寫法:使用 #reference 的具名插槽,或使用自定義指令v-popover指向 Popover 的索引ref。

<template>
  <el-popover
    placement="top-start"
    title="標(biāo)題"
    :width="200"
    trigger="hover"
    content="這是一段內(nèi)容,這是一段內(nèi)容,這是一段內(nèi)容,這是一段內(nèi)容。"
  >
    <template #reference>
      <el-button>hover 激活</el-button>
    </template>
  </el-popover>

  <el-popover
    placement="bottom"
    title="標(biāo)題"
    :width="200"
    trigger="click"
    content="這是一段內(nèi)容,這是一段內(nèi)容,這是一段內(nèi)容,這是一段內(nèi)容。"
  >
    <template #reference>
      <el-button>click 激活</el-button>
    </template>
  </el-popover>

  <el-popover
    ref="popover"
    placement="right"
    title="標(biāo)題"
    :width="200"
    trigger="focus"
    content="這是一段內(nèi)容,這是一段內(nèi)容,這是一段內(nèi)容,這是一段內(nèi)容。"
  >
    <template #reference>
      <el-button>focus 激活</el-button>
    </template>
  </el-popover>

  <el-popover
    placement="bottom"
    title="標(biāo)題"
    :width="200"
    trigger="manual"
    content="這是一段內(nèi)容,這是一段內(nèi)容,這是一段內(nèi)容,這是一段內(nèi)容。"
    v-model:visible="visible"
  >
    <template #reference>
      <el-button @click="visible = !visible">手動激活</el-button>
    </template>
  </el-popover>
</template>

<script>
  export default {
    data() {
      return {
        visible: false,
      }
    },
  }
</script>

嵌套信息

可以在 Popover 中嵌套多種類型信息,以下為嵌套表格的例子。

利用分發(fā)取代content屬性

<template>
  <el-popover placement="right" :width="400" trigger="click">
  <template #reference>
    <el-button>click 激活</el-button>
  </template>
  <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-popover>
</template>

<script>
  export default {
    data() {
      return {
        gridData: [
          {
            date: '2016-05-02',
            name: '王小虎',
            address: '上海市普陀區(qū)金沙江路 1518 弄',
          },
          {
            date: '2016-05-04',
            name: '王小虎',
            address: '上海市普陀區(qū)金沙江路 1518 弄',
          },
          {
            date: '2016-05-01',
            name: '王小虎',
            address: '上海市普陀區(qū)金沙江路 1518 弄',
          },
          {
            date: '2016-05-03',
            name: '王小虎',
            address: '上海市普陀區(qū)金沙江路 1518 弄',
          },
        ],
      }
    },
  }
</script>

嵌套操作

當(dāng)然,你還可以嵌套操作,這相比 Dialog 更為輕量:

<template>
  <el-popover placement="top" :width="160" v-model:visible="visible">
  <p>這是一段內(nèi)容這是一段內(nèi)容確定刪除嗎?</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="visible = false"
      >確定</el-button
    >
  </div>
  <template #reference>
    <el-button @click="visible = true">刪除</el-button>
  </template>
</el-popover>
</template>

<script>
  export default {
    data() {
      return {
        visible: false,
      }
    },
  }
</script>

Attributes

參數(shù)說明類型可選值默認(rèn)值
trigger觸發(fā)方式Stringclick/focus/hover/manualclick
title標(biāo)題String
content顯示的內(nèi)容,也可以通過 slot 傳入 DOMString
width寬度String, Number最小寬度 150px
placement出現(xiàn)位置Stringtop/top-start/top-end/bottom/bottom-start/bottom-end/left/left-start/left-end/right/right-start/right-endbottom
disabledPopover 是否可用Booleanfalse
visible / v-model:visible狀態(tài)是否可見Booleanfalse
offset出現(xiàn)位置的偏移量Number0
transition定義漸變動畫Stringfade-in-linear
show-arrow是否顯示 Tooltip 箭頭,更多參數(shù)可見Vue-popperBooleantrue
popper-optionspopper.js 的參數(shù)Object參考 popper.js 文檔{ boundariesElement: 'body', gpuAcceleration: false }
popper-class為 popper 添加類名String
show-after延遲出現(xiàn),單位毫秒Number0
hide-after延遲關(guān)閉,單位毫秒Number0
auto-closeTooltip 出現(xiàn)后自動隱藏延時,單位毫秒,為 0 則不會自動隱藏number0
tabindexPopover 組件的 tabindexnumber

Slot

參數(shù)說明
Popover 內(nèi)嵌 HTML 文本
reference觸發(fā) Popover 顯示的 HTML 元素

Events

事件名稱說明回調(diào)參數(shù)
show顯示時觸發(fā)
after-enter顯示動畫播放完畢后觸發(fā)
hide隱藏時觸發(fā)
after-leave隱藏動畫播放完畢后觸發(fā)


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號