气泡确认框 PopConfirm

根据 tip 组件封装的气泡确认框。

在不同位置显示

<c-pop-confirm v-for="pos in types" :key="pos" :position="pos" style="margin-right: 1em">
  <div slot="content">
    真的真的真的要删除我吗?
  </div>

  <c-button primary>{{pos}}</c-button>
</c-pop-confirm>

<script>
export default {
  data () {
    return {
      types: ['top', 'bottom', 'left', 'right']
    }
  }
}
</script>

自定义按钮文字

你还可以自定义确认按钮和取消按钮的文字 ——

<c-pop-confirm ok-text="参与活动" cancel-text="放弃">
  <div slot="content">
    参加活动,成为最炫锦鲤~
  </div>

  <c-button primary>点我</c-button>
</c-pop-confirm>

事件

点击确认按钮和取消按钮将分别触发 confirmcancel 事件。

<c-pop-confirm
  ok-text="参与活动"
  cancel-text="放弃"
  @cancel="handleCancel"
  @confirm="handleConfirm"
>
  <div slot="content">
    参加活动,成为最炫锦鲤~
  </div>

  <c-button primary>点我</c-button>
</c-pop-confirm>

<script>
export default {
  methods: {
    handleCancel () {
      this.$warning('真可惜,与一个亿擦肩而过..')
    },
    handleConfirm () {
      this.$success('下一个锦鲤就是你!')
    }
  }
}
</script>

方法调用

在某些情况下,还可以手动调用 PopConfirm 实例上面的 hideshow 方法。

下面的例子展示了如何通过 blurfocus 事件实现 PopConfirm 的隐藏和显示。

<c-pop-confirm
  ok-text="参与活动"
  cancel-text="放弃"
  @cancel="handleCancel"
  @confirm="handleConfirm"
  ref="popconfirm"
>
  <div slot="content">
    参加活动,成为最炫锦鲤~
  </div>

  <a href="#" @focus="handleFocus" @blur="handleBlur">点我</a>
</c-pop-confirm>

<script>
export default {
  methods: {
    handleCancel () {
      this.$warning('真可惜,与一个亿擦肩而过..')
    },
    handleConfirm () {
      this.$success('下一个锦鲤就是你!')
    },
    handleFocus () {
      this.$refs.popconfirm.show()
    },
    handleBlur () {
      this.$refs.popconfirm.hide()
    }
  }
}
</script>

API

属性 类型 说明 默认值
position top | right | bottom | left 位置 bottom
disabled Boolean 是否禁用 false
okText String 确认按钮文字 确定
cancelText String 取消按钮文字 取消

事件

名称 说明
confirm 点击确定按钮
cancel 点击取消按钮