MUI TreeItem:更改所选节点的背景颜色

MUI TreeItem: changing background colour for selected node

提问人:saurabh 提问时间:11/12/2023 最后编辑:saurabh 更新时间:11/12/2023 访问量:39

问:

背景:作为一个副项目,我正在尝试创建一个像侧边栏这样的代码沙箱,将鼠标悬停在每个节点上时,将出现节点创建/编辑/删除选项,这将允许您在树查看器的节点上执行这些操作。我宁愿禁用专注 |已入选 |将鼠标悬停在背景样式上以实现该外观。 使用“withStyles”,我设法禁用了大部分焦点 |已入选 |悬停样式,但存在一种情况,即如果选择了节点,其背景颜色仍不会更改。

以下是我用过的样式,


export const StyledTreeItem = withStyles({
  root: {
    "&.Mui-selected > .MuiTreeItem-content": {
      background: "white"
    },
    "&.MuiTreeItem-root > .MuiTreeItem-content:hover": {
      background: "white"
    },
    "&.MuiTreeItem-root > .MuiTreeItem-content:hover > .MuiTreeItem-label": {
      background: "white"
    },
    ".MuiTreeItem-root:hover": {
      background: "white"
    },
    ".MuiTreeItem-root > .MuiTreeItem-content:hover": {
      background: "white"
    },
    ".MuiTreeItem-root > .MuiTreeItem-content:hover > .MuiTreeItem-label": {
      background: "white"
    },
    ".MuiTreeItem-root > .MuiTreeItem-content.Mui-selected": {
      background: "white"
    },
    ".MuiTreeItem-root > .MuiTreeItem-content.Mui-selected:hover": {
      background: "white"
    },
    ".MuiTreeItem-root > .MuiTreeItem-content.Mui-selected > .MuiTreeItem-label": {
      background: "white"
    },
    ".MuiTreeItem-root > .MuiTreeItem-content.Mui-selected.Mui-focused": {
      background: "white"
    }
  }
})(CustomTreeItem);

这是相同的沙盒

ReactJS Material-UI 树视图 MUI-X

评论


答:

1赞 Kamran Davar 11/12/2023 #1

将此块添加到根对象并完成:

    "& .MuiTreeItem-content.Mui-selected ": {
      background: "white"
    },

评论

0赞 saurabh 11/12/2023
谢谢,我注意到一件有趣的事情,如果我应用您上面提到的样式,当我在树查看器之外单击后,背景效果就会被禁用。如果我添加这些选择器,则所有背景样式都会按照我的意图被禁用,除非当我单击离开树查看器时,所选节点会突出显示。& .MuiTreeItem-content.Mui-selected.Mui-focused