Component({
  options: {
    multipleSlots: true, // 在组件定义时的选项中启用多slot支持
    styleIsolation: 'apply-shared'
  },
  /**
   * 组件的属性列表
   */
  properties: {
    extClass: {
      type: String,
      value: ''
    },
    showIcon: {
      type: Boolean,
      value: true
    },
    type: {
      type: String,
      value: 'success' // icon的类型, 有效值：success, error
    },
    title: {
      type: String,
      value: '' // 提示的标题
    },
    content: {
      type: String,
      value: '' // 提示的内容
    },
    showCancel: {
      type: Boolean,
      value: true // 是否显示取消按钮
    },
    cancelText: {
      type: String,
      value: '取消' // 取消按钮的文字，最多 4 个字符
    },
    confirmText: {
      type: String,
      value: '确定' // 确认按钮的文字，最多 4 个字符
    },
  },

  /**
   * 组件的初始数据
   */
  data: {
    isShow: true,
  },

  /**
   * 组件的方法列表
   */
  methods: {
    //隐藏弹框
    close() {
      this.setData({
        isShow: !this.data.isShow
      })
    },
    //展示弹框
    show() {
      this.setData({
        isShow: !this.data.isShow
      })
    },
    /*
     * 内部私有方法建议以下划线开头
     * triggerEvent 用于触发事件
     */
    _cancelEvent: function () {
      this.triggerEvent('cancelEvent');
    },
    _confirmEvent: function () {
      this.triggerEvent('confirmEvent');
    }
  }
})