如何更改表单控件标签的默认排版类-material-ui |反应?

2024-03-12

我想更改 formControlLabel 的默认属性body to caption。我尝试了一下并且成功了:

<FormControlLabel
  value="all"
  control={<Radio color="primary" />}
  label={
    <Typography variant="caption">
      first
    </Typography>
  }
  labelPlacement="end"
/>

但这并不完全是我想要的效果,在这种情况下,我只添加一个涉及原始跨度的跨度:

有时,我在尝试更改默认元素类时会遇到同样的问题,不幸的是,文档无法帮助我理解在这些情况下应该做什么。

可以找到示例代码和其他失败的尝试here https://stackblitz.com/edit/mb-react-radio.


我只想更改默认类属性MuiTypography-root MuiFormControlLabel-label MuiTypography-body1 to MuiTypography-root MuiFormControlLabel-label MuiTypography-caption不包含新的 span 元素


FormControlLabel does not提供一种控制机制Typography变体。之前已经有人提出过这个问题,并在本期中进行了讨论:https://github.com/mui-org/material-ui/issues/16643 https://github.com/mui-org/material-ui/issues/16643.

您的主要选择是:

  • 将您的文本包裹在自己的文本中Typography与所需的变体(如您在问题中所示)。
  • Use label and Typography直接使用元素代替FormControlLabel模仿其实施 https://github.com/mui-org/material-ui/blob/v4.5.2/packages/material-ui/src/FormControlLabel/FormControlLabel.js#L91
  • 使用 CSS 类来改变body1款式要匹配caption造型(https://github.com/mui-org/material-ui/blob/v4.5.2/packages/material-ui/src/styles/createTypography.js#L73 https://github.com/mui-org/material-ui/blob/v4.5.2/packages/material-ui/src/styles/createTypography.js#L73)

您可以在此示例中并排看到第一个和最后一个选项:

import React from "react";
import ReactDOM from "react-dom";

import FormControlLabel from "@material-ui/core/FormControlLabel";
import Radio from "@material-ui/core/Radio";
import Typography from "@material-ui/core/Typography";
import { makeStyles } from "@material-ui/core/styles";

const useStyles = makeStyles(theme => ({
  label: {
    fontSize: theme.typography.pxToRem(12),
    letterSpacing: "0.03333em",
    lineHeight: 1.66
  }
}));

function App() {
  const classes = useStyles();
  return (
    <>
      <FormControlLabel
        value="all"
        control={<Radio color="primary" />}
        label={<Typography variant="caption">first</Typography>}
        labelPlacement="end"
      />
      <FormControlLabel
        value="all"
        control={<Radio color="primary" />}
        label="first"
        labelPlacement="end"
        classes={classes}
      />
    </>
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

这两个选项看起来并不完全相同。的线高body1与没有额外的包装层相比,第一种情况下的包装器会导致文本向下移动一两个像素,所以我会推荐我的最后一个选项。

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

如何更改表单控件标签的默认排版类-material-ui |反应? 的相关文章

随机推荐

  • 字节顺序、“最高有效”和“最低有效”

    我在网上阅读了描述大端和小端的描述 然而 它们似乎基本上都以相同的方式读取 我仍然对 最多 和 最少 有效字节的实际实现感到困惑 据我了解 小端值首先评估 最低有效 值 而在大端值下 首先评估 最高有效 字节 但是 我不清楚 最 和 最不
  • 为什么类不能用作模块?

    Module是的超类Class Class superclass gt Module 在面向对象编程中 这意味着Class可以在任何有实例的地方使用Module可以使用 令人惊讶的是 情况并非如此ClassRuby 中的实例 class C
  • 使用字符串键访问或创建嵌套 JavaScript 对象而不使用 eval

    我正在寻找一个很好的解决方案来通过字符串值访问属性 但如果该属性不存在 则应该创建它 如果根结构已经定义了该结构的某些部分 则不应覆盖这些属性 而应合并这些属性 例如 如果您有一个空对象test并且您想在不使用 eval 的情况下设置深层结
  • 如何用
    $...$
    替换 LaTeX $...$ 和 $$...$$ 符号?

    我目前遇到的问题是 Jekyll 不能很好地与 Markdown 和 LaTeX 配合使用 所以我有很多文章 frac some latex or int e v en more 我该如何更换 by span span and by div
  • 匹配 ggplot2 中的图例项和颜色,其中某些 geom_segment 未包含在图例中

    我似乎无法让我的图例标签和颜色在 ggplot2 中正确匹配 我有一些 geom segments 我不想包含在图例中 我尝试了各种选择 但没有一个有效 现有的问题似乎都没有涉及未在绘图上标记某些元素的问题 所以这可能会增加复杂性 代码如下
  • 具有来自同一个表的 2 个外键的 Django 模型

    我想要一个带有来自同一个表的 2 个外键的 Django 模型 这是一个事件表 有两列员工 参与者 和 接收者 但我收到这个错误 错误 一个或多个模型未验证 tasks task 中介 模型 TaskEvent 有多个 Employee 外
  • Tcl.h:没有这样的文件或目录

    我正在尝试将一些代码从 Solaris 机器移植到 Linux 特别是 Redhat 机器上 代码编译没有问题 并且在 Solaris 机器上运行也没有问题 然而 在 Linux 上重新编译时 我遇到了 tcl h 的问题 编译器告诉我 e
  • JCL TEvaluator 类中预定义了哪些函数

    有谁知道其中包含哪些预定义功能 例如 ABS 功能 TEvaluatorDelphi 7 的 JCL 类 没有任何标准功能Math pas包括 默认评估解析器中实现的所有内容都是运算符or xor and not mod lt gt lt
  • 使用 python 3 抓取需要登录的网站

    只是一个关于一些抓取身份验证的问题 使用BeautifulSoup importing the requests lib import requests from bs4 import BeautifulSoup specifying th
  • 如何通过CSS将鼠标悬停在导航菜单上来隐藏和显示Bootstrap 4卡片?

    您好 我试图通过将鼠标悬停在菜单列表上来显示和隐藏卡片的特定部分 我可以使用 css 隐藏卡片 但无法通过特定类的 css 的 display block 属性来显示它 HTML 导航菜单 div class d flex justify
  • ctags 和 Fortran 的接口

    我想知道如何让 ctags 使用 Fortran 中的接口 例如 INTERFACE SOME ROUTINE MODULE SOME ROUTINE A MODULE SOME ROUTINE B END SOME ROUTINE 因此
  • 将数据从钩子传递到 codeigniter 中的视图

    我可以将数据从钩子传递到视图吗 如果可能 请解释一下 例如 hook post controller constructor array class gt Varify user function gt user project filen
  • NUnit Assert.Equals 我错过了什么?

    Assert Equals 从不调用 Equals operator operator 我错过了什么吗 我已经实现了 IEquatable 但在使用 nunit 时仍然从未调用这些方法 if objectA objectB Assert F
  • 为什么 C++17 结构化绑定不使用 { }?

    我找到了 C 结构化绑定的原始提案here http www open std org jtc1 sc22 wg21 docs papers 2015 p0144r0 pdf 它提出了一种轻松绑定多个返回值的方法 即 auto a b mi
  • asp .net 验证在 IE 10 中不起作用

    有人遇到过这个问题吗 我需要对一个表单进行字段验证 我已经测试过该表单 并且知道它可以在 IE 7 9 Firefox 和 Chrome 中工作 但在 IE 10 中 它允许在不进行任何验证的情况下提交表单 该网站采用 Net 3 5 我在
  • 更新 mongo 中的字段类型

    我有大量记录collection field value 我怎样才能有效地更新到 字段 值 我尝试过这样的事情 pymongo 语法 collection update field 1 exists True set field field
  • wso2 调用 API 时无需令牌

    我正在使用 WSO2 API Mananger 管理我的 API 到目前为止 每个 API 都是私有的 并且可以使用访问令牌进行访问 新用例中的一些 API 是完全公开的 任何人都可以匿名访问它们 只需 GET POST PUT 即可 无需
  • 确定“未知的评估顺序”

    从版本 1 80 开始 Cppcheck 告诉我 表达式 msg ipos checksum msg 1 ipos 1 取决于副作用的评估顺序 在此代码序列中 简化 data是一个变量 BYTE msg MAX MSG SIZE msg c
  • excel函数获取另一个单元格的值

    描述问题的图片http img215 imageshack us img215 3725 20100314235127schedule2 jpg http img215 imageshack us img215 3725 201003142
  • 如何更改表单控件标签的默认排版类-material-ui |反应?

    我想更改 formControlLabel 的默认属性body to caption 我尝试了一下并且成功了