标签: material-ui

从单个文件导出的 Material UI v4 makeStyles 不会在刷新时保留样式

我正在使用 Material UI v4,我正在从单个文件导出我的样式,但这些样式在其他组件中不起作用。styles.js

const useStyles = makeStyles(theme => ({
    root: {
      display: 'flex',
    },
    // textField component styles
    textFieldInput: {
      margin: theme.spacing(2),
      width: 250,
      minWidth: 250,
    },
    formControl: {
      margin: theme.spacing(2),
      minWidth: 120,
    },


})
export {useStyles}
Run Code Online (Sandbox Code Playgroud)

在我的组件文件中

    ....
    const classes = useStyles(styles);

    return (
        <TextField
            className={classes.textFieldInput}
            label={label}
            placeholder={label}
            error={touched && invalid}
            helperText={touched && error}
            {...input}
            disabled={disabled || false}
            readOnly={readOnly || false}
            required={required || false}
            InputProps={{ readOnly, ...custom }}
            {...custom}
        />
    );
     ....
Run Code Online (Sandbox Code Playgroud)

当我在我的组件中使用它时,样式将在第一次热重载时起作用,但之后样式不会有任何影响,为什么?以及我如何解决这个问题

reactjs material-ui

13
推荐指数
1
解决办法
9119
查看次数

显示为纯文本的操作图标

我正在将材料表(https://material-table.com/#/)用于反应项目,并且我已经导入了我需要使用的图标,但是在操作栏中,操作显示为纯文本,并且不是作为材料图标。

import React, { forwardRef } from 'react';
import MaterialTable from 'material-table';

import AddBox from '@material-ui/icons/AddBox';
import ArrowUpward from '@material-ui/icons/ArrowUpward';
import Check from '@material-ui/icons/Check';
import ChevronLeft from '@material-ui/icons/ChevronLeft';
import ChevronRight from '@material-ui/icons/ChevronRight';
import Clear from '@material-ui/icons/Clear';
import DeleteOutline from '@material-ui/icons/DeleteOutline';
import Edit from '@material-ui/icons/Edit';
import FilterList from '@material-ui/icons/FilterList';
import FirstPage from '@material-ui/icons/FirstPage';
import LastPage from '@material-ui/icons/LastPage';
import Print from '@material-ui/icons/Print';
import Remove from '@material-ui/icons/Remove';
import SaveAlt from '@material-ui/icons/SaveAlt';
import Search from '@material-ui/icons/Search';
import ViewColumn from '@material-ui/icons/ViewColumn';

const Table …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs material-ui material-table

13
推荐指数
3
解决办法
5875
查看次数

MUI v5 - 将样式与组件文件分开

我想将样式与 MUI v5 中的组件文件分开。我在 v4 中的做法是makeStyles这样的:

Page.style.js

import { makeStyles } from "@material-ui/core";

export const useStyles = makeStyles({
  root: {
    background: "white",
  },
});
Run Code Online (Sandbox Code Playgroud)

Page.js

import React from "react";
import useStyles from "./Page.style";

const Page = () => {
  const classes = useStyles();
        
  return (
    <div className={classes.root}></div>
  )
}
Run Code Online (Sandbox Code Playgroud)

makeStyles现在是遗产,我听说它将在下一个版本中被弃用。在 v5 中将样式和组件分离到不同文件中的正确方法是什么?

css reactjs material-ui

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

Popper styled_default 不是函数 Mui 5.6.0 [material-ui]

从 @mui/material 5.5.0 升级到 5.6.4 后,我的 vite React-ts 应用程序无法运行,并抛出错误:styled_default 不是 Popper.js 的函数,popper 组件正在由自动完成组件使用

主题提供商正在包装整个应用程序

自动完成正在点击 api 来填充选项,但是使用 mui 的新 vite 项目似乎没有这个问题?

任何正确方向的帮助/指示将不胜感激

运行React 17.0.2 vite 2.8.0 mui/material 5.6.4

material-ui

13
推荐指数
3
解决办法
8220
查看次数

分隔线颜色变化 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 material-ui 选择菜单上的 findDOMNode 错误

我在这里使用select 组件的精确标记

        <FormControl
            variant="outlined"
            className={classes.formControl}
            error={errors.title ? true : false}
          >
            <InputLabel htmlFor="title">Who are you?</InputLabel>
            <Select
              labelId="titleLabel"
              id="title"
              value={state.title ? state.title : 'Example1'}
              onChange={handleChange}
              label="Who are you?"
            >
              <MenuItem value={`Example1`}>Example1</MenuItem>
              <MenuItem value={`Example2`}>Example2</MenuItem>
              <MenuItem value={`Example3`}>Example3</MenuItem>
              <MenuItem value={`other`}>other</MenuItem>
            </Select>
            {errors.title && <FormHelperText>{errors.title}</FormHelperText>}
          </FormControl>
Run Code Online (Sandbox Code Playgroud)

然后我不断收到以下错误,不知道如何解决这个问题

index.js:1 Warning: findDOMNode is deprecated in StrictMode. findDOMNode was passed an instance of Transition which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely …
Run Code Online (Sandbox Code Playgroud)

reactjs material-ui

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

有没有办法使用 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
查看次数