关于 dropdownItem 点击跳转后自动收起 dropdown
来源:12-2 为生产环境生成代码
慕莱坞3345942
2022-07-29
老师你好,想问一下关于您代码中实现跳转后自动收起 dropdown 的相关问题:
使用 mitt 创建 emitter 后,让子组件去触发'dropdown-item-clicked'
事件,同时传回{ e, props }
,此时看到您'dropdown-item-clicked'
自定义事件的 callback 是
const dropDownItemClicked = (e: any) => {
if (e.props.closeAfterClick) {
isOpen.value = false
}
context.emit('item-clicked', e)
}
没有看懂这里为什么需要子组件将 { e, props }
传回来,以及不知道 item-click
和GlobalHeader
中的 closeAfterClick
是做什么的。
为什么不能在 dropDownItemClicked
函数中直接 调用toggleOpen()
将组件隐藏呢?
写回答
1回答
-
同学你好
这里只是想通过属性更精细化的调配是否关闭,因为有的 Item 点击有可能不想关闭整个菜单,所以可以通过这个 props.closeAfterClick 可以实现这个对应的功能。
传回来 e,props 只是个人习惯,这样可以为未来提供更加扩展的功能提供事件和参数。比如用户想知道点击的是哪个 item,这样有了 e 这个事件对象就更方便一些。
012022-07-29
相似问题
路由跳转问题
回答 1
对于Dropdown组件的几个问题,谢谢
回答 1