// myComponents/card/card.js
Component({
  options: {
    multipleSlots: true // 在组件定义时的选项中启用多slot支持
  },
  /**
   * 组件的属性列表
   */
  properties: {
    edit:{
      type:Boolean,
      value:true
    },
    menu:{
      type:Array,
      value:[]
    },
    data:null,
    index:null
  },

  /**
   * 组件的初始数据
   */
  data: {
    popover:null
  },

  /**
   * 组件的方法列表
   */
  methods: {
    onTap: function (e) {
      if(this.properties.menu.length == 0){
        return false
      }
      var dom = this.selectComponent('#myPopover')
      dom.showMenu()
      return
      console.log(e)
      console.log(this.data.popover)
      // 获取按钮元素的坐标信息
      var id =  e.currentTarget.id // 或者 e.target.id 获取点击元素的 ID 值
      const query = wx.createSelectorQuery().in(this); 
     var that = this
      query.select('#'+id).boundingClientRect(function(res) { 
        // console.log(res.id);      // 节点的ID  
        // console.log(res.dataset); // 节点的dataset  
        // console.log(res.left);    // 节点的左边界坐标  
        // console.log(res.right);   // 节点的右边界坐标  
        // console.log(res.top);     // 节点的上边界坐标  
        // console.log(res.bottom);  // 节点的下边界坐标  
        // console.log(res.width);   // 节点的宽度  
        // console.log(res.height);  // 节点的高度  
        that.data.popover.onDisplay(res);
      }).exec();
    },

    // 响应popover组件中的子元素点击事件
    onClickA: function (e) {
      console.log(e)
      const item = e.currentTarget.dataset.item
      item.data = this.properties.data
      item.index = this.properties.index
      // wx.showToast({
      //   title: '你点击了A',
      //   icon: 'none'
      // });
      // 调用自定义组件 popover 中的 onHide 方法
      // this.data.popover.onHide();
      console.log(item)
      var dom = this.selectComponent('#myPopover')
      dom.showMenu()
      this.triggerEvent('value',item)
    }
  },
   /**  
   * 组件的生命周期函数列表  
   */  
  lifetimes: {  
    // 在组件实例进入页面节点树时执行  
    attached: function () {  
      // 初始化操作
      this.setData(
        {
          popover:this.selectComponent('#popover')
        }
      )  
      // this.data.popover = this.selectComponent('#popover')
      console.log(this.data.popover)
      // ...  
    },  
    // 在组件实例被移除出页面节点树时执行  
    detached: function () {  
      // 清理工作  
      console.log('组件销毁');  
      // ...  
    },  
    // ...  
  }, 
})