Popover 弹出框

基础用法

trigger属性用于设置何时触发 Popover,支持四种触发方式:hover,click,focus 和 manual。使用 slot="reference" 的具名插槽指定触发 Popover 的元素。

<template>
  <os-popover
    placement="top"
    content="我是一大段文本我是一大段文本我是一大段文本我是一大段文本"
  >
    <os-button type="info" slot="reference">hover激活</os-button>
  </os-popover>

  <os-popover
    placement="top"
    content="我是一大段文本我是一大段文本我是一大段文本我是一大段文本"
    trigger="click"
  >
    <os-button type="info" slot="reference">click激活</os-button>
  </os-popover>

  <os-popover
    placement="top"
    content="我是一大段文本我是一大段文本我是一大段文本我是一大段文本"
    trigger="focus"
  >
    <os-button type="info" slot="reference">focus激活</os-button>
  </os-popover>

  <os-popover
    placement="top"
    content="我是一大段文本我是一大段文本我是一大段文本我是一大段文本"
    v-model="visible"
    trigger="manual"
  >
    <os-button type="info" slot="reference" @click="visible = !visible"
      >手动激活</os-button
    >
  </os-popover>
</template>

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

嵌套信息

可以在 Popover 中嵌套多种类型信息。

<template>
  <os-popover placement="top" trigger="click" width="300px">
    <div>
      <p>
        <os-tag type="success">雪芸豆</os-tag>
        <os-tag type="text">大闸蟹</os-tag>
        <os-tag type="warning">火腿肠</os-tag>
        <os-tag type="error">碎冰冰</os-tag>
      </p>
      <p style="margin-top: 10px">前排出售上述零食系列</p>
    </div>
    <os-button type="info" slot="reference">click激活</os-button>
  </os-popover>
</template>

嵌套操作

嵌套操作,相比 Dialog 更为轻量

<template>
  <os-popover placement="top" trigger="click" v-model="visible2">
    <p>确定删除这个鬼玩意儿吗?</p>
    <div style="text-align: right; margin-top: 10px">
      <os-button size="mini" type="text" @click="visible2 = false"
        >取消</os-button
      >
      <os-button type="primary" size="mini" @click="visible2 = false"
        >确定</os-button
      >
    </div>
    <os-button type="info" slot="reference">删除</os-button>
  </os-popover>
</template>

<script>
export default {
  data() {
    return {
      visible2: false
    };
  }
};
</script>

Popover 属性

参数 说明 类型 可选值 默认值
trigger 触发方式 string click/focus/hover/manual click
title 标题 string -- --
content 显示的内容,也可以通过 slot#default 传入 DOM string -- --
disabled Popover 是否可用 boolean -- false
v-model/value 状态是否可见 boolean -- true
width 宽度 string -- 180px
placement Popover 的出现位置 string top/top-start/top-end
/bottom/bottom-start/bottom-end
/left/left-start/left-end
/right/right-start/right-end
top

Popover 插槽

参数 说明
-- Popover 内嵌 HTML 文本
reference 触发 Popover 显示的 HTML 元素