Das Hinzufügen eines Klassennamens in SelectDisplayProps
überschreibt tatsächlich die vorhandenen Klassennamen
Ich habe ein Komponente. Wenn ich dem div einen Klassennamen geben möchte, der den ausgewählten Wert von Select anzeigt, überschreibt er sie, anstatt den Klassennamen wie jede Material-UI-Komponente zu den anderen hinzuzufügen.
Ich habe eine <Select />
-Komponente. Wenn ich eine className
in SelectDisplayProps
hinzufüge, werden die vorhandenen Klassennamen der Komponente, die den ausgewählten Wert in der anzeigen, überschrieben .
Es sollte die vorhandenen Klassennamen nicht überschreiben, sondern ihnen hinzugefügt werden.
Hier finden Sie eine Sandbox, um den Fehler zu sehen: https://codesandbox.io/s/material-ui-issue-forked-oi0vd
Schritte:
SelectDisplayProps
:SelectDisplayProps={{
className: classes.selectDisplay
}}
SelectDisplayProps
in undefiniert geändert, als hätten Sie keine angegeben.SelectDisplayProps
vorhanden ist. Wenn jedoch SelectDisplayProps
angegeben wird, verschwindet der KlassennameIch möchte den Stil des Elements überschreiben, das den Auswahlwert anzeigt. Das Problem besteht auch dann, wenn ich den Stil, den ich zu geben versuche, völlig ändere, also denke ich nicht, dass er damit zusammenhängt.
| Tech | Version |
| ----------- | ------- |
| Material-UI | v4.11.0 |
| Reagiere | 16.13.1 |
| Browser | Chrome - Version 86.0.4240.75 (offizieller Build) (64-Bit) |
| TypeScript | 3.9.5 |
@Newpoki Danke für den Bericht, ich kann das Problem bestätigen. Was denkst du über dieses Update?
diff --git a/packages/material-ui/src/Select/SelectInput.js b/packages/material-ui/src/Select/SelectInput.js
index eb58ecd1b3..2098d0f3b8 100644
--- a/packages/material-ui/src/Select/SelectInput.js
+++ b/packages/material-ui/src/Select/SelectInput.js
@@ -353,16 +353,6 @@ const SelectInput = React.forwardRef(function SelectInput(props, ref) {
return (
<React.Fragment>
<div
- className={clsx(
- classes.root, // TODO v5: merge root and select
- classes.select,
- classes.selectMenu,
- classes[variant],
- {
- [classes.disabled]: disabled,
- },
- className,
- )}
ref={setDisplayNode}
tabIndex={tabIndex}
role="button"
@@ -376,6 +366,17 @@ const SelectInput = React.forwardRef(function SelectInput(props, ref) {
onBlur={handleBlur}
onFocus={onFocus}
{...SelectDisplayProps}
+ className={clsx(
+ classes.root, // TODO v5: merge root and select
+ classes.select,
+ classes.selectMenu,
+ classes[variant],
+ {
+ [classes.disabled]: disabled,
+ },
+ className,
+ SelectDisplayProps.className
+ )}
// The id is required for proper a11y
id={buttonId}
>
Möchten Sie an einer Pull-Anfrage arbeiten? :) :)
Ich würde es gerne versuchen. Kannst du es mir zuweisen?
Hallo,
Entschuldigung für die späte Antwort, ich war an meinem Arbeitsplatz: heat_smile:
Ich bin froh, dass es ein echtes Problem war und nicht aus meinem Kopf, und dass es behoben wird: D.
Danke @reedanders für die PR.