actionsheet不通过索引如何区别选中的项
发布于 6 年前 作者 taosu 7858 次浏览 来自 问答

假如点击文章内容弹窗有三个选项 var itemList = [‘回复’,‘删除’,‘举报’]

自己的文章能删除,不能举报:var itemList = [‘回复’,‘删除’]

他人的文章能举报,不能删除:var itemList = [‘回复’,‘举报’]

现在就遇到一个问题了,我通过索引,到底是点击了 删除  还是  举报操作,无法区分了。

2 回复

emmmmm…

可以自己做一个actionsheet,很简单的。

component只承载自己的功能,一切的处理应该在component的parent中处理。

再加一个css transition动画,so easy

使用:

<actionsheet active="{{showmenu}}">
  <button data-type="reply">回复</button>
  <button data-type="delete">删除</button>
</actionsheet>

WXML:

<view class="wrapper{{ active ? ' active' : '' }}"><slot></slot></view>
<view class="overlay{{ active ? ' active' : '' }}" catch:tap="onTapOverlay"></view>

JS:

Component({
  properties: {
    active: {
      type: Boolean,
      value: false
    }
  },
 
  methods: {
    onTapOverlay(){
      this.triggerEvent('hide')
    }
  }
})

首先,你应当要用逻辑去区分的索引的

点击触发后,先判断是文章是否是自己的,

if(index == 2){

    if(文章 == 自己的){

             删除逻辑 

    }else{

            举报逻辑

    }

}

回到顶部