pro*_*pro 5 html javascript css reactjs material-ui
在这里,我在 React 中有一个代码。我想在树的左侧显示虚线。
我怎样才能做到这一点?
我需要这样的东西:
而且,我想将 的样式TreeView与此代码合并:
const StyledTreeItem = withStyles((theme) => ({
iconContainer: {
'& .close': {
opacity: 0.3,
},
},
group: {
marginLeft: 2,
paddingLeft: 3,
borderLeft: `1px dashed ${fade(theme.palette.text.primary, 0.4)}`,
},
}))((props) => <TreeItem {...props} />);
Run Code Online (Sandbox Code Playgroud)
"organizationalUnitsList": [
{
"organizationalUnitId": "",
"organizationalUnitName": "A",
"organizationalUnitsList": [
{
"organizationalUnitId": "",
"organizationalUnitName": "b",
}
]
},
{
"organizationalUnitId": "",
"organizationalUnitName": "C",
"organizationalUnitsList": [
{
"organizationalUnitId": "",
"organizationalUnitName": "D",
"organizationalUnitsList": [
{
"organizationalUnitId": "",
"organizationalUnitName": "e",
}
]
}
]
},
{
"organizationalUnitId": "",
"organizationalUnitName": "f"
}
Run Code Online (Sandbox Code Playgroud)
]
现在,我希望 TreeView 在 OrganizationalUnitName 处不将 borderBottom 显示为“A”、“C”和“D”。因为他们将扮演孩子的父母的角色。我希望孩子显示 borderBottom 而不是父母。
有多个organizationalUnitId。但是每当出现对象数组时,我都希望对象显示为子项而不是父项。
我怎样才能做到这一点?
本文档中的示例演示了如何向TreeItem. 要添加水平边框,您可以为每个元素创建一个伪元素TreeItem,并使用absolute位置来正确放置它们。这是一个例子:
import TreeItem, { treeItemClasses } from "@mui/lab/TreeItem";
type StyledTreeItemProps = {
rootNode?: boolean;
};
const StyledTreeItem = styled(TreeItem)<StyledTreeItemProps>(({ rootNode }) => {
const borderColor = "gray";
return {
position: "relative",
"&:before": {
pointerEvents: "none",
content: '""',
position: "absolute",
width: 32,
left: -16,
top: 12,
borderBottom:
// only display if the TreeItem is not root node
!rootNode ? `1px dashed ${borderColor}` : "none"
},
[`& .${treeItemClasses.group}`]: {
marginLeft: 16,
paddingLeft: 18,
borderLeft: `1px dashed ${borderColor}`
}
};
});
Run Code Online (Sandbox Code Playgroud)
<TreeView>
<StyledTreeItem rootNode nodeId="1" label="Applications">
<StyledTreeItem nodeId="2" label="Calendar" />
<StyledTreeItem nodeId="3" label="Drive" />
</StyledTreeItem>
<StyledTreeItem rootNode nodeId="8" label="Documents">
<StyledTreeItem nodeId="9" label="OSS" />
<StyledTreeItem nodeId="10" label="MUI">
<StyledTreeItem nodeId="11" label="index.js" />
</StyledTreeItem>
</StyledTreeItem>
</TreeView>
Run Code Online (Sandbox Code Playgroud)
V5
V4
| 归档时间: |
|
| 查看次数: |
493 次 |
| 最近记录: |