material-ui TextField select上的类别名称不可能而且不直觉,

dohp0rv5  于 2022-10-29  发布在  其他
关注(0)|答案(2)|浏览(159)
  • 最新版本中存在此问题。
  • 我已经搜索了此存储库的issues,并认为这不是重复的。

当前行为😯

四种方法可以将输入类名添加到<TextField select />组件中,但 * 没有 * 一种方法可以将类名添加到输入中。

<TextField
  select
  inputProps={{
    className: 'one',
  }}
  SelectProps={{
    inputProps: {
      className: 'two',
    },
  }}
  InputProps={{
    className: 'three',
    inputProps: {
      className: 'four',
    },
  }}
/>

这将把四个类名中的 * 一个 * 添加到输入周围的 Package <div />中,而不添加任何内容到输入本身。我发现,如果你在输入prop上放置任意属性,它将附加到输入中,但className prop将被移到 Package div中。

预期行为🤔

要追加到输入中的所有四个类名。

3bygqnnd

3bygqnnd1#

您可以使用以下命令添加它:

<TextField
      select
      SelectProps={{
        classes: {
          nativeInput: "some-custom-classname"
        }
      }}
    />

下面是一个代码和框:https://codesandbox.io/s/billowing-architecture-578ey?file=/src/App.tsx:188-328的最大值
最常见的用例是在select元素上添加类,这是默认的行为。input是一个隐藏元素,不太希望它被样式化。你能分享一下你的用例吗?

gv8xihay

gv8xihay2#

你是对的。我可能定位了错误的元素。我的目标是将FullStory fs-mask类名应用于元素,这将 * 隐藏元素 * 使其不被记录,以防止收集个人身份信息。隐藏 Package 器的问题是我丢失了相关信息,如错误状态和标签。我希望保留错误状态、标签和除用户输入之外的所有其它文本。
是否可以将类名仅应用于用户输入(所选值和下拉列表)而不影响其余标签?

相关问题