Что подразумевается под корневым элементом в документации Material-UI? - PullRequest
0 голосов
/ 30 января 2019

Меня смущает терминология пользовательского интерфейса, и я буду признателен, если кто-нибудь сможет мне это объяснить.

Возьмем, к примеру, это описание https://material -ui.com / guides / api /:

Распространение
Предоставленные недокументированные свойства распространяются на корневой элемент;например, свойство className применяется к корню.
Теперь, допустим, вы хотите отключить рябь в MenuItem.Вы можете воспользоваться преимуществами поведения распространения:

Свойство disableRipple будет работать следующим образом: MenuItem> ListItem> ButtonBase.

Я так понимаю, что корневой элемент в этомcase is ButtonBase - самый внутренний элемент.А «недокументированное» в свойстве MenuItem disableRipple «распространяется» на корневой элемент - ButtonBase.Итак, свойства «распространяются» сверху вниз - на самый внутренний элемент.

С другой стороны, когда я читаю это https://material -ui.com / customization / overrides / :

Переопределение имен классов
Первый способ переопределить стиль компонента - использовать имена классов.Каждый компонент предоставляет свойство className, которое всегда применяется к корневому элементу.

Мне кажется, что под корневым элементом они понимают самый внешний компонент - тот, который я использую из пользовательского интерфейса материала - MenuItemа не внутренний, поверх которого он построен (ButtonBase).В противном случае это просто не имеет смысла, потому что я не смогу стилизовать mui-компонент, если бы он не был правдой.

Итак, когда они говорят, что что-то применено к «корневому» элементу, они имеют в виду, чтоон применяется к самому внешнему компоненту (муи, который я импортирую и использую) или к самому внутреннему компоненту (поверх которого строится компонент материала)?

1 Ответ

0 голосов
/ 30 января 2019

Я не уверен, почему не имеет смысла применять реквизит className к внутреннему элементу (например, ButtonBase).Я думаю, что во всех случаях «корень» ссылается на внутренний элемент.

Когда вы передаете className в MenuItem, он будет передан компоненту ListItem, который передаст его компоненту ButtonBase,который, в конце концов, передаст его родному элементу button, позволяющему стилизовать кнопку.

Если есть сомнения, вы можете проверить источник, например, для MenuItem .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...