我对ui的用词感到困惑,如果有人能给我解释的话,我会很感激的。
例如,让我们以这个描述https://material-ui.com/guides/api/为例:
展开 提供的无文档属性被扩展到根元素;例如,className属性应用于根元素。 现在,假设您想要禁用MenuItem上的涟漪。您可以利用传播行为: disableRipple属性将以这种方式流动: MenuItem > ListItem > ButtonBase。
我理解它的方式是,在本例中的根元素是ButtonBase --最内部的元素。MenuItem property disableRipple中的“无文档”被“扩散”到根元素- ButtonBase。因此,属性从上到下“扩展”到最内在的元素。
另一方面,当我读到这个https://material-ui.com/customization/overrides/时:
用类名重写 重写组件样式的第一种方法是使用类名。每个组件都提供一个className属性,该属性总是应用于根元素。
在我看来,根的意思是最外层的组件--我从material MenuItem中使用的组件,而不是构建它的内部组件(ButtonBase)。否则,这就没有意义了,因为如果不是真的,我就无法对mui组件进行样式设计。
那么,当他们说有什么东西被应用到“根”元素上时,他们的意思是将其应用到最外层的组件(我导入和使用的梅组件)或最内部的组件(在哪种材料的组件之上)?
发布于 2019-01-30 00:35:15
我不知道为什么将className
支柱应用于内部元素(例如ButtonBase)是没有意义的。我认为,在所有情况下,“根”指的是内在元素。
当您将className
传递给MenuItem时,它将被传递给ListItem组件,后者将传递给ButtonBase组件,后者将最终将其传递给本机button
元素,从而允许对按钮进行样式化。
如果有疑问,您可以检查源,例如MenuItem。
发布于 2021-11-16 07:48:04
发布于 2020-06-04 05:52:46
在我看来,root
是指外部元素。
没有为任何组件显式地记录className
,因此它只应用于根(外部)元素。但是disableRipple
被扩展到内部元素,因为它是为ButtonBase
元素显式记录的。
https://stackoverflow.com/questions/54435598
复制相似问题