关于component的多次实例之间的通讯问题
发布于 6 年前 作者 jinna 18331 次浏览 来自 问答

红色箭头指的编辑帖子的模块写成了一个component__postsEdit,然后把它丢到了componet_posts,也主是帖子组件里,然后循环了一下帖子,生成了这么个列表.

现在通过点击下箭头ICON是能够显示和隐藏操作选项, 但是打开A的操作选项后,再去打开B的操作选项,A的操作选项没有自动隐藏,现在需求要求能够在点击下箭头时隐藏其他下箭头的操作选项,我该怎么做.

我感觉是因为每个实例都只在自己作用域里生效导致的这个问题.

下面,我贴一下代码:

上图:控制操作选项显示和隐藏

上图:component_postsEdit的wxml文件

上图:wxml里使用component_postsEdit

1 回复

建议不在 component里隐藏其他的菜单,将隐藏和显示的菜单放到 page的 wx:for="{{list}}"列表里的一个属性list[0].showMenu,postsEdit组件里 observe这个属性。当点了某一个时,把点击的这一项的 index存起来(比如叫 currentIndex)。下次点另一个的时候,先判断currentIndex是否有值,有值的话,就setData showMenu=false。

回到顶部