TalkingData / iview-weapp

一套高质量的微信小程序 UI 组件库
https://weapp.iviewui.com
Other
6.59k stars 1.17k forks source link

action-sheet在mpvue框架中,获取不到index #238

Open rendq opened 6 years ago

rendq commented 6 years ago

action-sheet引入: <i-action-sheet :visible="visible" :actions="actions" show-cancel @cancel="handleCancel" @click="handleClickItem" />

handleClickItem (detail) {
        debugger;
        const index = detail.index + 1;
        if (index === 1) {
          wx.navigateTo("/pages/group/index");
        }
      }

而在微信调试工具中获取到 detail的值是: image

zhaowenxin commented 6 years ago

今天我遇到了这个问题,mpvue官网上写了这么一句话:暂不支持在组件引用时,在组件上定义 click 等原生事件、v-show(可用 v-if 代替)和 class style 等样式属性...... 详见地址:http://mpvue.com/mpvue/#vue_1 解决办法: 步骤一:修改组件的自定义事件:@click,改为不是@click的都可以,就是不能跟原生的@click重复 <i-action-sheet :visible="showDoorSheet" :actions="doorList" @clicka="handleClickItem" mask-closable="false"... 步骤二:修改iview weapp的action-sheet/index.js中的触发事件 handleClickItem({ currentTarget = {} }) { const dataset = currentTarget.dataset || {}; const { index } = dataset; this.triggerEvent('clicka',{ index }); }

最后打印mp.detail.index,,就能得到数据,没改之前,detail里就只有xy的位置

zmqcherish commented 5 years ago

前两天使用还是好的,今天发现突然不行了。