React MUI CardHeader API
React MUI是一个提供丰富组件的UI库,将我们自己的设计系统引入到生产可用的组件中。MUI是一个用户界面库,提供了预定义和可自定义的React组件,用于更快、更简便的web开发,这些Material-UI组件是基于Google的Material Design设计的。
CardHeader是React MUI提供的一个组件API,允许我们自定义Card组件的标题。Card是顶级组件,Card Header写在Card组件中。
导入CardHeader组件,我们可以使用以下语句:
语法:
属性(props):
- title(标题): 用于给标题(header)提供一个特定的标题。例如,title = “运动”。
- subheader(子标题): 用于给标题(header)提供一个特定的子标题。例如,subheader = “板球”。
- avatar(头像): 用于提供一个显示的头像。它是你在google登录页面右上方看到的圆形的徽标。
- action(动作): 用于在标题(header)中显示一个动作。例如,当你点击菜单时,你会看到一个下拉列表。
- classes(类): 用于更改应用于组件的CSS样式。
- component(组件): 用作父节点的组件。你可以在字符串中使用HTML或者一个实际的组件。
- disableTypography(禁用文本格式): 用于禁止文本被包装在Typography组件中。默认为false。
- subheaderTypographyProps(子标题文本格式属性): 用于子标题的Typography的属性,将被传递给子标题组件(disableTypography应为false)。
- sx: 用于更改系统CSS样式或添加新的CSS样式。
- titleTypographyProps(标题文本格式属性): 用于标题的Typography的属性,将被传递给标题组件(disableTypography应为false)。
CSS样式:
- root: MuiCardHeader-root。这个类用于给父元素应用样式。
- avatar(头像): MuiCardHeader-avatar。这个类用于给头像(prop)应用样式。
- action(动作): MuiCardHeader-action。这个类用于给动作(prop)应用样式。
- content(内容): MuiCardHeader-content。这个类用于给卡片的内容应用样式。
- title(标题): MuiCardHeader-title。这个类用于给标题(prop)应用样式。
- subheader(子标题): MuiCardHeader-subheader。这个类用于给子标题(prop)应用样式。
创建React应用:
步骤1: 创建一个名为react-card-header的文件夹。打开命令提示符/Shell,导航到该文件夹并使用以下命令 –
步骤2: 这将安装所有必要的React JS起始文件。安装完成后,我们需要安装Material UI。为此,请使用以下命令-
这将为我们安装React Material UI。现在,我们已经拥有所有必要的入门文件,让我们开始吧。
项目结构: 在您的src文件夹内,创建一个components文件夹。在这个components文件夹内,创建两个文件,分别是SportsCard.js和LinkedinPost.js。最终,您的文件夹结构将如下所示-
示例: 让我们从第一个示例开始。在这个示例中,我们将创建一个带有板球、足球和羽毛球顶部菜单的运动卡片。这是一个静态卡片。在你的组件文件夹中,打开SportsCard.js。在这个示例中,我们显示了一个带有体育菜单的卡片。
SportsCard.js
我们在src文件夹中有App.css,其中,我添加了一些CSS来居中卡片并使其更具吸引力。以下是相应的代码。
App.css
在App.js中,我们只是渲染了SportsCard.js组件。
App.js
打开命令提示符并输入以下命令:
输出:
示例2:
让我们来看看第二个示例。在这个示例中,我们将创建一个带有可工作的“喜欢”按钮的LinkedIn帖子。在你的components文件夹内,创建一个名为 LinkedinPost.js 的文件。在这个示例中,我们正在创建一个带有可工作的“喜欢”按钮的LinkedIn帖子。
LinkedinPost.js
我们的src文件夹中有一个App.css文件,我在其中添加了一些CSS代码来使卡片居中并使其更具吸引力。以下是相应的代码。
App.css
在 App.js 中,我们只是渲染 SportsCard.js 组件。
App.js
现在再次打开您的命令提示符/Shell,并键入以下命令:
你将在浏览器中看到以下输出:
参考: https://mui.com/material-ui/api/card-header/