当我们使用React js和Bootsrap 4单击按钮时如何动态添加选项卡

萨加尔·巴努(Sagar Bhanu)

如何在单击按钮时动态添加选项卡

我已经尝试了所有示例,但是没有一个示例对我有帮助

例如:-在下面的两个Bootstrap选项卡的下面分别命名为Tab1和Tab2。当我们自动单击时,tab3需要绑定。该怎么做,请给我建议

参考链接:-https: //www.bootply.com/61679

很酷的家伙

我想这将是您在React中完成此功能所需的基本模板。

在此处查看此沙箱:https : //codesandbox.io/s/romantic-wiles-w2uwh

工作代码:

import React from "react";
import ReactDOM from "react-dom";

import "./styles.css";

class App extends React.Component {
  state = {
    tabs: [
      { name: "Tab 1", content: "Wow this is tab 1" },
      { name: "Tab 2", content: "Look at me, it's Tab 2" }
    ],
    currentTab: { name: "Tab 1", content: "Wow this is tab 1" }
  };

  createTabs = () => {
    const { tabs, currentTab } = this.state;

    const allTabs = tabs.map(tab => {
      return (
        <li>
          <button
            className={currentTab.name == tab.name ? "tab active" : "tab"}
            onClick={() => this.handleSelectTab(tab)}
          >
            {tab.name}
          </button>
        </li>
      );
    });

    return <ul className="nav nav-tabs">{allTabs}</ul>;
  };

  handleSelectTab = tab => {
    this.setState({
      currentTab: tab
    });
  };

  handleAddTab = () => {
    const { tabs } = this.state;

    const newTabObject = {
      name: `Tab ${tabs.length + 1}`,
      content: `This is Tab ${tabs.length + 1}`
    };

    this.setState({
      tabs: [...tabs, newTabObject],
      currentTab: newTabObject
    });
  };

  render() {
    const { currentTab } = this.state;
    return (
      <div className="container">
        <div className="well">
          <button className="add-tab-button" onClick={this.handleAddTab}>
            <i className="text-primary fas fa-plus-square" /> Add Tab
          </button>
          {this.createTabs()}
          <div className="tab-content">{currentTab.content}</div>
        </div>
      </div>
    );
  }
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当我们在C#中使用JOIN和GROUP BY查询时如何填充datagridview

当我们混合使用opencv和dlib时,cv :: imread()在c ++项目中失败

当我们在Windows上使用docker镜像和容器时,它们存储在哪里?

当我们需要使用curveTo()和setCurve()时

当我们在TypeScript中使用clarify和export关键字时?

当我们在 Node.js 中使用 http.createServer() 时

SQL server,当我们在sql server中使用cast和float时,我们有一列数据decimal(38,35)被截断

React钩子:当我们尝试调用函数时,useMemo和useEffect具有Missing依赖项

当我们使用CSS下拉菜单作为共享组件时如何设置和获取表单值

“ dispatch()”的含义/作用是什么,为什么当我们有.then()和.catch()时使用它

当我们在Chrome中测试webrtc时,它使用的是用Android编写的本机代码和jni代码

当我们使用JavaScript隐藏/显示时,清除下拉列表和/或文本框内容

try和&之间推荐使用哪种语法。当我们在Ruby on Rails中处理零值时?

为什么当我们使用 getReference() 和 remove() 时,getReference() 会命中数据库并导致 SELECT 语句

当我们将它们添加到片段和主要活动中时,选项菜单的流程如何?

当我们增加加薪金额时,我们可以为员工应用 getter 和 setter 以自动加薪吗(我们定义 applyraise)

当我们对 React 应用程序使用 UseReducer 钩子方法时导出操作

我们可以使用React JS动态创建链接吗?

React - 当我们点击 img 时改变视图

为什么我们在 React js 中定义常量变量时使用花括号?

当我们在服务中使用 ngOnInit 时?

当我们在ChangeNotifier中使用notifyListeners时?

我们如何使用`SwiftUI`添加`Button`和`TextField`

在不使用鼠标的情况下检查和取消选中控件,因为当我们按Enter键时,按钮控件被触发

(Git合并)何时使用“我们的”策略,“我们的”选项和“他们的”选项?

我们如何使用 bootsrap 中的编辑按钮编辑 angularjs 中的任何输入字段?

如何在列表中使用选项卡动态添加元素。角js

当我们使用 React 从列表中单击第一项时打开模态

当我们使用RabbitMQ发布和订阅者模式时,如何调用另一种方法?