Material-ui v1 输入焦点样式覆盖

2024-03-09

我试图通过类名覆盖来覆盖输入组件焦点时的样式。

我已经尝试过以下方法:

const style = theme => ({
  input: {
    width: '20%',
    borderRadius: 4,
    backgroundColor: 'white',
    border: '1px solid #ced4da',
    fontSize: 20,
    '&:focus': {
      width: '40%',
      borderColor: '#80bdff',
      boxShadow: '0 0 0 0.2rem rgba(0,123,255,.25)',
    },
  }
});

class test extends Component {

// UI
render() {
    const {classes} = this.props
    return (
        <AppBar position="static">
            <Toolbar>
                <Input className={classes.input} />
            </Toolbar>
        </AppBar>
    );
}
}

export default withStyles(style)(test);

谢谢


实现这一点的最佳方法是覆盖focused暴露的风格Input组件,但使用类而不是类名。

为此,您应该首先专门为焦点输入创建一个 CSS 样式类:

const styles = theme => ({
  input: {
    width: '20%',
    borderRadius: 4,
    backgroundColor: 'white',
    border: '1px solid #ced4da',
    fontSize: 20,
  },
  // Separate this part into it's own CSS class
  inputFocused: {
    width: '40%',
    borderColor: '#80bdff',
    boxShadow: '0 0 0 0.2rem rgba(0,123,255,.25)',
    backgroundColor: "#00FF00",
  },
});

然后覆盖focused风格上的Input像这样:

<Input
  className={classes.input}
  classes={{ focused: classes.inputFocused}}
/>

当你把它们结合在一起时,一个完整的工作示例将如下所示:

import React from 'react';
import PropTypes from 'prop-types';
import { withStyles } from 'material-ui/styles';
import Input from 'material-ui/Input';

const styles = theme => ({
  input: {
    width: '20%',
    borderRadius: 4,
    backgroundColor: 'white',
    border: '1px solid #ced4da',
    fontSize: 20,
  },
  // Separate this part into it's own CSS class
  inputFocused: {
    width: '40%',
    borderColor: '#80bdff',
    boxShadow: '0 0 0 0.2rem rgba(0,123,255,.25)',
    backgroundColor: "#00FF00",
  },
});

function Inputs(props) {
  const { classes } = props;
  return (
    <div className={classes.container}>
      <Input
        className={classes.input}
        classes={{ focused: classes.inputFocused}}
      />
    </div>
  );
}

Inputs.propTypes = {
  classes: PropTypes.object.isRequired,
};

export default withStyles(styles)(Inputs);

您可以阅读有关使用类覆盖组件样式的更多信息here https://material-ui-next.com/customization/overrides/#overriding-with-classes.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Material-ui v1 输入焦点样式覆盖 的相关文章

随机推荐

  • 优化 S3 下载大量小文件

    我目前使用转账管理器 https docs aws amazon com AWSJavaSDK latest javadoc com amazonaws services s3 transfer TransferManager html从
  • AJAX 将不带表单的 ValidateAntiForgeryToken 发布到 MVC 操作方法

    我一直在寻找如何在 SO 上执行此操作的示例 据我所知 我已经尝试了所有我能找到的示例 但到目前为止没有成功 我尝试根据我的场景更改一些实现 但到目前为止也失败了 我的页面上有这个 layout cshtml 所以我总是有一个可用的令牌
  • Android 设计支持库可扩展浮动操作按钮 (FAB) 菜单

    现在Android设计支持库已经出来了 有谁知道如何用它实现扩展的Fab菜单 就像Inbox App上的fab一样 应该看起来像这样 获得了一种更好的方法来实现动画 FAB 菜单 而无需使用任何库或为动画编写大量 xml 代码 希望这对将来
  • insertUI 中的 R 闪亮动态 UI

    我有一个闪亮的应用程序 我想使用操作按钮添加 UI 元素 然后让插入的 ui 成为动态的 这是我当前的 ui 文件 library shiny shinyUI fluidPage div id placeholder actionButto
  • MySQL 与 JSON - 为什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 vbscript 从本地驱动器获取文件夹列表

    我想从计算机中删除所有文档 doc 文件 因为我知道如何从文件夹中获取子文件夹列表 但不知道如何从根目录中获取文件夹列表 Ex C subfoldersInFolder folder subFolder 给出文件夹的所有子文件夹 但据说我想
  • 熊猫显示所有行的组总和[重复]

    这个问题在这里已经有答案了 给定以下数据框 col a col b tosum b 5 b 5 b 1 c 6 c 3 a 2 a 2 我想显示所有行上每个 col 组的总和 如下所示 col a col b tosum group sum
  • 图像(Blob)在浏览器中仅显示一次

    我正在使用 Symfony2 和 Twig 在实体类中 ORM Column name photo type blob nullable true private photo public function displayPhoto ret
  • 绑定元函数:接受类型和模板模板参数(接受任何内容)

    我正在尝试写一个Bind将模板参数绑定到某些内容的元编程模板帮助器元函数 我有一个简单模板元函数的工作实现 template
  • 如何让 SSL 在 pip3 中工作?

    Python 3 6 5 从源代码构建并与 Python 2 7 5 一起安装 python3但是打开 python 终端pip3无法安装任何带有 SSL 错误的软件包 root servername openssl OpenSSL 1 1
  • 如何在 Python 中向旧的 CSV 文件追加新行?

    我正在尝试向旧的 CSV 文件添加新行 基本上 每次运行 Python 脚本时它都会更新 现在 我将旧的 CSV 行值存储在列表中 然后删除 CSV 文件并使用新的列表值再次创建它 我想知道是否有更好的方法可以做到这一点 with open
  • 如何列出 FTP 连接的目录内容

    我找不到这方面的教程 在 VB NET 中我想要执行如下命令 Dim array1 as string ListFilesInFolder www example com images 我知道这可能不会那么简单 但是有人可以给我指点教程或其
  • MongoDB C# 驱动程序覆盖字符串的默认值从 null 到 string.empty

    使用 10gen mondgo db c 驱动程序 我有以下课程 BsonId public ObjectId Id get set public int AttemptId get set public int UserId get se
  • Json 下拉列表

    当我点击部门安装主题时 当我点击主题时要安装的服务 但当我点击服务时却没有看到问题 我认为对json的描述不准确 你能帮我解决这个问题吗 谢谢 我的 Jquery 代码
  • ASP.NET MVC 在哪里放置自定义验证属性

    我一直在摆弄一些 ASP NET MVC3 解决方案结构 并且已经确定了由以下项目组成的设计 MyApp Web MVC3 Web Layer MyApp Data Repositories and infrastructure for m
  • 使用php将XML数据插入mysql

    代表问题的 xml 文件部分 该 xml 文件有数百条客户记录
  • 如何将事件流式传输到 BigQuery?

    我想将事件添加到 BigQuery 中 以便使用以下服务通过图表查看它们模式分析 https modeanalytics com 我不确定是否掌握了 BigQuery 的完整概念 也许我对它做出了错误的假设 但我想使用它的目的是拥有一个 某
  • C++ 中许多 for 循环的紧凑形式

    我有一段代码如下 以及数量for循环由下式确定n这是在编译时已知的 每个for循环迭代值 0 和 1 目前 我的代码如下所示 for int in 0 in lt 2 in for int in 1 0 in 1 lt 2 in 1 for
  • @Override注释错误(android首选项)

    当我尝试使用此代码在我的应用程序中启用首选项时 import android app Activity import android content SharedPreferences import android os Bundle im
  • Material-ui v1 输入焦点样式覆盖

    我试图通过类名覆盖来覆盖输入组件焦点时的样式 我已经尝试过以下方法 const style theme gt input width 20 borderRadius 4 backgroundColor white border 1px so