如何使用 Material UI 检查哪个标签处于活动状态?


Material-UI 提供了各种组件,可以帮助我们构建外观一致的用户界面。Material-UI 提供的组件之一是 Tabs 组件,它允许我们在应用程序中创建选项卡式界面。在本教程中,我们将学习如何使用 Material-UI(一个流行的 React UI 库)检查哪个标签处于活动状态。

使用 useState hook 检查哪个标签处于活动状态

用户可以按照以下步骤使用 Material UI 检查哪个标签处于活动状态。

步骤 1 − 首先,用户需要安装 Material-UI。我们可以运行以下命令:

npm install @mui/material @emotion/react @emotion/styled

步骤 2 − 导入 Tabs 和 Tab 组件。我们可以在组件文件的顶部添加以下代码行:

import { Tabs, Tab } from '@mui/material'; 

步骤 3 − 创建一个状态来跟踪活动标签。我们可以使用 React 的 useState hook 来实现。以下是如何创建一个名为 value 的状态变量的示例:

const [value, setValue] = React.useState(0);

步骤 4 − 我们需要使用 Tabs 和 Tab 组件。以下是如何使用这些组件的示例:

<Tabs value={value} onChange={(event, newValue) => setValue(newValue)}>
   <Tab label="Tab 1" />
   <Tab label="Tab 2" />
   <Tab label="Tab 3" />
</Tabs>

示例 1

在这个例子中,我们创建了一个状态来跟踪活动标签:我们创建了一个名为 activeTab 的状态变量,其初始值为“tab1”。

我们定义了一个函数 handleTabChange,它以事件和 newValue 作为参数,并更新 activeTab 状态。

我们可以通过检查 activeTab 状态变量的值来检查活动标签。例如,如果 activeTab 为“tab1”,则第一个标签处于活动状态;如果 activeTab 为“tab2”,则第二个标签处于活动状态,依此类推。

import React from 'react';
import { Tabs, Tab } from '@mui/material';

function MyComponent() {
   // Step 1: Create a state to keep track of the active tab
   const [activeTab, setActiveTab] = React.useState('tab1');

   // Step 2: Define a function to handle tab changes
   const handleTabChange = (event, newValue) => {
      setActiveTab(newValue);
   };

   // Step 3: Use the Tabs and Tab components
   return (
      <Tabs value={activeTab} onChange={handleTabChange}>
         <Tab value="tab1" label="Tab 1" />
         <Tab value="tab2" label="Tab 2" />
         <Tab value="tab3" label="Tab 3" />
      </Tabs>
   );
}

export default MyComponent;

输出

示例 2

使用 Material-UI 检查哪个标签处于活动状态的另一种方法是使用 Tab 组件的 selected 属性。selected 属性允许我们定义是否应选择一个标签。

在这种情况下,我们可以通过检查状态变量 activeTab 来检查哪个标签处于活动状态;我们将 selected 属性传递给 Tab 组件,并将状态变量 activeTab 的值与 Tab 组件的值进行比较。如果匹配,则该标签将被选中;否则,将不会被选中。

以下是如何使用 selected 属性检查哪个标签处于活动状态的示例:

import React from 'react';
import { Tabs, Tab } from '@mui/material';

function MyComponent() {
   const [activeTab, setActiveTab] = React.useState('tab1');

   const handleTabChange = (event, newValue) => {
      setActiveTab(newValue);
   };
   return (
      <Tabs value={activeTab} onChange={handleTabChange}>
         <Tab value="tab1" label="Tab 1" selected={activeTab === 'tab1'} />
         <Tab value="tab2" label="Tab 2" selected={activeTab === 'tab2'} />
         <Tab value="tab3" label="Tab 3" selected={activeTab === 'tab3'} />
      </Tabs>
   );
}
export default MyComponent;

输出

在本教程中,我们学习了如何使用 Material-UI 检查哪个标签处于活动状态。

我们已经了解了如何安装 Material-UI、导入 Tabs 和 Tab 组件、创建状态变量来跟踪活动标签以及如何在 JSX 代码中使用这些组件。

更新于:2023年2月16日

2K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.