我正试图用Mobx状态树在反应中制造一个Nav。
现在,我有一个有图标列表的瘦削垂直Nav栏。现在,我想要做的是添加子菜单项目到特定的。当单击这些命令时,Nav会从瘦到宽(即展开),并显示子菜单项。一旦用户点击其中一个,Nav就会返回到瘦版本。
我认为我需要的是一种方法,当在我的父商店点击一个图标,一个标志被设置为“展开”,但我不知道如何设置当一个孩子被点击。
import { types } from "mobx-state-tree";
import NavItem from "./NavItem.js";
const NavStore = types
.model("NavStore", {
expanded: false,
nav_items: types.array(NavItem)
})
.actions(self => ({}))
.views(self => ({}))
.create({
});
export default NavStore;
import { types } from "mobx-state-tree";
const NavItem = types
.model("NavItem", {
expands: false,
title: types.string
})
.actions(self => ({
itemClicked() {
}
}))
.views(self => ({}));
export default NavItem发布于 2018-06-06 17:23:56
您需要导入getParent和(可选) hasParent函数:
import { types, getParent, hasParent } from ‘mobx-state-tree’然后在您的行动调用家长的行动:
if (hasParent(self)) {
getParent(self).someAction(someParams);
}https://stackoverflow.com/questions/50689654
复制相似问题