在Material Table中设计创建行输入元素的样式。

问题描述 投票:0回答:1

我想在reactjs的Materialtable中增加一个下拉列表 "出生地"。

enter image description here

我想要一些类似的东西,我不知道在哪里可以添加这个css代码宽度:60%;为这个下拉列表。

enter image description here

reactjs material-ui material-table
1个回答
1
投票

你可以用 createMuiTheme material-ui lib.中的styleprops。

const theme = createMuiTheme({
  overrides: {
    MuiTableRow: {
      root: {
        "&[mode=add]": {
          "& .MuiInputBase-root": {
            width: "90%",
            background: '#dedede',
          }
        }
      }
    }
  }
});

当你需要在特定的单元格中为特定的输入设置样式时,问题就开始了,因为你无法控制该元素的styleprops。这个解决方案非常丑陋,但我找不到更好的解决方案(至少在1.57.2版本)。

const theme = createMuiTheme({
  overrides: {
    MuiTableRow: {
      root: {
        "&[mode=add]": {
          "& .MuiInputBase-root": {
            width: "90%",
            background: "#a1a1a1"
          },
          "& .MuiTableCell-body:nth-child(4)": {
            "& .MuiInputBase-root": {
              width: "100%",
              background: "#d1d1d1"
            }
          }
        }
      }
    }
  }
});

你可以在这里找到完整的工作示例。https:/codesandbox.iosmaterial-table-style-create-row-cbpzk?file=demo.js。

© www.soinside.com 2019 - 2024. All rights reserved.