标签: material-ui

分隔线颜色变化 React Material Ui

我正在使用材料 ui 框架的分隔器组件,并且坚持颜色变化方面。对于这个框架中的大多数其他组件,我已经能够通过应用 useStyles() 方法来更改颜色,如下所示:

const useStyles = makeStyles(theme => ({
    textPadding: {
      paddingTop: 10,
      paddingBottom: 10,
      color:'white',
    },
}));
Run Code Online (Sandbox Code Playgroud)

但我无法使用相同的方法更改分隔线的颜色:

const useStyles = makeStyles(theme => ({
dividerColor: {
  backgroundColor: 'white',
},
}));
Run Code Online (Sandbox Code Playgroud)

我当然然后将它应用于组件:

<Divider classname={classes.dividerColor}></Divider>
Run Code Online (Sandbox Code Playgroud)

我查找了它的文档,但无法弄清楚我做错了什么。有人可以帮帮我吗?

javascript frontend reactjs material-ui

12
推荐指数
5
解决办法
1万
查看次数

符号“&amp;$checked”是什么意思

import React from 'react';
import Checkbox from '@material-ui/core/Checkbox';
import { createMuiTheme, makeStyles, ThemeProvider } from '@material-ui/core/styles';
import { orange } from '@material-ui/core/colors';

const useStyles = makeStyles(theme => ({
  root: {
    color: theme.status.danger,
    '&$checked': {
      color: theme.status.danger,
    },
  },
  checked: {},
}));

function CustomCheckbox() {
  const classes = useStyles();

  return (
    <Checkbox
      defaultChecked
      classes={{
        root: classes.root,
        checked: classes.checked,
      }}
    />
  );
}

const theme = createMuiTheme({
  status: {
    danger: orange[500],
  },
});

export default function CustomStyles() {
  return (
    <ThemeProvider theme={theme}> …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs material-ui jss

12
推荐指数
1
解决办法
2457
查看次数

如何在时刻使用 material-ui-pickers KeyboardDatePicker?

我将KeyBoardDatePickerfrom material-ui-pickerswithmoment utils用于 DatePicker。

import React, { Fragment, useState } from "react";
import {
  MuiPickersUtilsProvider,
  KeyboardDatePicker
} from "@material-ui/pickers";
import MomentUtils from "@date-io/moment";
import moment from "moment";

function KeyboardDatePickerExample(props) {
  const [selectedDate, handleDateChange] = useState(new Date());

  return (
    <Fragment>
      <MuiPickersUtilsProvider libInstance={moment} utils={MomentUtils}>
        <KeyboardDatePicker
          autoOk={true}
          showTodayButton={true}
          value={selectedDate}
          format="D MMM, YYYY"
          onChange={handleDateChange}
          minDate={moment().subtract(6, "months")}
          maxDate={moment()}
        />
      </MuiPickersUtilsProvider>
    </Fragment>
  );
}

export default KeyboardDatePickerExample;
Run Code Online (Sandbox Code Playgroud)

但它不能正常工作。

首先,它没有正确显示日期格式

选择器的初始视图

当我尝试编辑时,它显示随机文本和错误invalid date format

当我尝试编辑时选择器的视图

这是一个重现该问题的沙箱

我究竟做错了什么?

编辑

看到 …

momentjs reactjs material-ui

12
推荐指数
2
解决办法
3万
查看次数

有没有办法使用 React suspense 为回退组件应用淡入/淡出过渡?

我有一个使用 MUI 的 React 应用程序,现在我已经使用微调器实现了悬念,它在加载内容时作为后备组件启动。我很想为回退组件添加淡入/淡出过渡,因为目前这种变化太突然了。

我的设置(对于这个特定问题的相关部分)如下:

依赖关系

    "@glidejs/glide": "^3.4.1",
    "@material-ui/core": "4.8.3",
    "@material-ui/icons": "4.5.1",
    "@material-ui/lab": "4.0.0-alpha.39",
    "@material-ui/pickers": "3.2.10",
    "@types/autosuggest-highlight": "^3.1.0",
    "@types/jest": "^24.0.0",
    "@types/node": "^12.0.0",
    "@types/react": "^16.9.0",
    "@types/react-dom": "^16.9.0",
    "@types/react-redux": "^7.1.7",
    "autosuggest-highlight": "^3.1.1",
    "connected-react-router": "^6.8.0",
    "history": "^4.10.1",
    "node-sass": "^4.13.0",
    "react": "^16.12.0",
    "react-date-picker": "^8.0.0",
    "react-dom": "^16.12.0",
    "react-feather": "^2.0.3",
    "react-redux": "^7.2.0",
    "react-router-dom": "^5.1.2",
    "react-scripts": "3.3.0",
    "redux-devtools-extension": "^2.13.8",
    "redux-ducks-ts": "^1.0.9",
    "redux-logger": "^3.0.6",
    "redux-saga": "^1.1.3",
    "reselect": "^4.0.0",
    "styled-components": "^4.4.1",
    "typescript": "~3.7.2"
Run Code Online (Sandbox Code Playgroud)

路由器块

这是应用程序的主要路由器,它有一个RouteWithSubRoutes组件接收路由作为参数并渲染react-render-dom路由组件,但基本上充当路由器切换容器

import React, { FC, Suspense } from "react";
import …
Run Code Online (Sandbox Code Playgroud)

reactjs material-ui react-router-dom react-suspense

12
推荐指数
1
解决办法
2169
查看次数

如何覆盖 Material UI .MuiContainer-maxWidthLg?

我试图摆脱主题中存在的最大宽度。
这是我在 Chrome 中看到的(如果我取消选中它,它会做我需要的):

@media (min-width: 1280px)
.MuiContainer-maxWidthLg {
    max-width: 1280px;
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?我试过这样的事情:

const useStyles = makeStyles(theme => ({
    root: {       
        '& .MuiContainer-maxWidthLg' : {
             maxWidth: //No matter what I put here, it does not work
        }, 
Run Code Online (Sandbox Code Playgroud)

但它似乎没有任何效果......我该如何覆盖它?

谢谢,

亚历克斯

css overriding reactjs material-ui

12
推荐指数
2
解决办法
5945
查看次数

如何去除Material UI Select组件的边框?

我想自定义Material UISelect组件。基本上我只是想删除边框或更确切地说是轮廓。我尝试覆盖样式,尝试使用 aNativeSelect并尝试使用自定义的as InputBaseinputComponent这些都不起作用。任何帮助将非常感激。Select

reactjs material-ui

12
推荐指数
5
解决办法
3万
查看次数

如何在 @testing-library/react 中使用 sx props 测试 Material UI v5 组件?

React 测试库在渲染期间不会应用sxMaterial UI 组件的 props。

例如,我指定属性以在某些断点处隐藏元素。

<>
  <AppBar
    data-testid="mobile"
    ...
    sx={{
      display: { xs: "block", sm: "none" }
    }}
  >
    MOBILE
  </AppBar>
  <AppBar
    data-testid="desktop"
    ...
    sx={{
      display: { xs: "none", sm: "block" }
    }}
  >
    DESKTOP
  </AppBar>
</>
Run Code Online (Sandbox Code Playgroud)

在浏览器中一切都按预期工作。在 React 测试库中渲染时,我得到包含两个元素的结果。从样式上可以明显看出,它们是基本的,并且sx没有应用该属性。链接到codesandbox

import { ThemeProvider } from "@mui/material/styles";
import { screen, render } from "@testing-library/react";
import darkTheme from "./darkTheme";
import App from "./App";

describe("Demo", () => {
  it("should have display props", () => { …
Run Code Online (Sandbox Code Playgroud)

reactjs material-ui react-testing-library testing-library

12
推荐指数
1
解决办法
2450
查看次数

为什么 `sx` 属性这么慢?

根据 MUI 自己的 doco 和这个答案- 使用sx渲染的组件比使用其他样式机制的组件慢得多。

从表面上看,它看起来sx只是一个替代的便利 API,用于执行相同的操作 - 所以我不希望它具有如此不同的性能配置文件。

我的问题是:为什么组件的渲染速度sx如此之慢 - 它的作用有何不同?它是一个完全不同的造型引擎还是什么?

我很好奇优化它的可能性,或者提出一种折衷方案,保留大部分可用性,但忽略导致速度减慢的任何功能。

请注意,这个问题是关于“为什么性能如此不同”,而不是“为什么你认为差异不重要”。

reactjs material-ui

12
推荐指数
1
解决办法
5066
查看次数

如何启用 ListItemButton 使用 React Router v6 Link?

我正在尝试遵循 MUI 的Mini 变体抽屉中给出的示例,使左侧ListItemButton能够与 React Router v6 的 Link 元素一起使用。该文档对于如何使用路由器库实现这一目标不是很清楚。我尝试了几种变体但无法使其工作。MUI 的 CodeSandBox 链接位于此处。有人可以告诉我如何启用ListItemButton像这样的路径/my-path吗?

reactjs react-router material-ui react-router-dom

12
推荐指数
1
解决办法
6791
查看次数

MUI:提供给选项卡组件的“值”无效。具有此“值”(“0”)的选项卡不是文档布局的一部分

我正在使用 MUI 选项卡,但遇到以下错误:

MUI:value提供给选项卡组件的内容无效。带有此(“0”)的选项卡value不是文档布局的一部分。确保该选项卡项目存在于文档中或不存在display: none

该代码与 MUI 示例非常相似,它们也产生了同样的问题

https://mui.com/material-ui/react-tabs/

javascript tabs reactjs material-ui

12
推荐指数
1
解决办法
8978
查看次数