addressPicker.js 1.49 KB
// pages/assist/alert/confirmAlert.js

Component({
  options: {
    multipleSlots: true // 在组件定义时的选项中启用多slot支持
  },
  /**
   * 组件的属性列表
   * 用于组件自定义设置
   */
  properties: {
    // 弹窗标题
    editeAddressPage: {            
      type: Object,     
      value: {},
      observer: '_hasChanged'
    },
  },

  /**
   * 私有数据,组件的初始数据
   * 可用于模版渲染
   */
  data: {
    fliterSelectIndex: -1,
  },

  /**
   * 组件的方法列表
   * 更新属性和数据的方法与更新页面数据的方法类似
   */
  methods: {
    
    _hasChanged(newValue, oldValue) {
      if (newValue && newValue.isShow) {
        let index = parseInt(newValue.currentLevel);
        this.setData({
          fliterSelectIndex: index,
        });
      }
    },

    didTouchFliter(event) {
      let index = event.currentTarget.dataset.index;
      this.setData({
        fliterSelectIndex: index,
      });
    },

    didTouchCell(event) {
      let fliterSelectIndex = event.currentTarget.dataset.fliterSelectIndex;
      let rowIndex = event.currentTarget.dataset.rowIndex;
      let data = {
        fliterSelectIndex: fliterSelectIndex,
        rowIndex: rowIndex,
      }
      if (fliterSelectIndex >= 3) {
        this.triggerEvent('selectAddressFinish', rowIndex);
      }else {
        this.triggerEvent('updateAddress', data);
      }
    },

    cancelButton(event) {
      this.triggerEvent('didTouchCancelButton');
    },
  }
})