我实际上是想使用Syncfusion的TabComponent在我的应用程序中有一个很好的Tab,所以我试着使用它,就像他们网站上显示的那样,但什么都没有显示.

我的代码是:

import { TabComponent, TabItemDirective, TabItemsDirective } from '@syncfusion/ej2-react-navigations';

const Tab = (props) => {
    return (
        <div>
            This is written in Tab.js, Tab Component should be here
            <TabComponent id='defaultTab' style={{width: '100%', borderColor:'red'}} overflowMode='Scrollable'>
                <TabItemsDirective>
                    <TabItemDirective header={"Header1"} content={"Content1"} />
                    <TabItemDirective header={"Header2"} content={"Content2"} />
                    <TabItemDirective header={"Header3"} content={"Content3"} />
                </TabItemsDirective>
            </TabComponent>
        </div>
    
    )
}
export default Tab;

但是这并不起作用,"这是用Tab.js编写的,Tab组件应该在这里"正确地显示在呈现中,但是TabComponent表现得好像它根本不存在.

但当我像这样创建TabComponent时:

<TabComponent id='other Tab' style={{width: '100%', borderColor:'red'}} overflowMode='Scrollable'>
     <div className='e-tab-header'>
          <div>Header1</div>
          <div>Header2</div>
     </div>
     <div className='e-content'>
          <div>Content1</div>
          <div>Content2</div>
     </div>
</TabComponent>

像这样,它工作得很好,不幸的是,我更喜欢使用第一种方法,因为它显然对我和我计划使用它的方式更好,所以有人能解释为什么TabItemDirective在这里不起作用吗?

推荐答案

我们已经判断了共享的代码片段,并告诉您必须呈现选项卡头和内容,如下面代码片段中突出显示的那样,以解决呈现问题.

https://stackblitz.com/edit/react-tab-header-content-render-issue?file=index.html,index.js. https://ej2.syncfusion.com/react/demos/#/material/tab/default. 一百零二

[index.js]

const Default = () => {
  React.useEffect(() => {
    updateSampleSection();
  }, []);
  let headertext;
  // Mapping Tab items Header property
  headertext = [{ text: 'Header1' }, { text: 'Header2' }, { text: 'Header3' }];
  const tabContent1 = () => {
    return <div>Content1</div>;
  };
  const tabContent2 = () => {
    return <div>Content2</div>;
  };
  const tabContent3 = () => {
    return <div>Content3</div>;
  };
  return (
    <div className="control-pane">
      <div className="control-section tab-control-section">
        {/* Render the Tab Component */}
        <TabComponent overflowMode="Scrollable" id="defaultTab">
          <TabItemsDirective>
            <TabItemDirective header={headertext[0]} content={tabContent1} />
            <TabItemDirective header={headertext[1]} content={tabContent2} />
            <TabItemDirective header={headertext[2]} content={tabContent3} />
          </TabItemsDirective>
        </TabComponent>
      </div>
    </div>
  );
};
export default Default;

Reactjs相关问答推荐

如何等待我的插入内容提交后再继续执行指令?

NextJS(AppRouter)、Apollo(客户端),在根布局中使用ApolloProvider时出错

单击按钮时在子元素中不显示任何内容-react

TypeError:b不是React.js中的函数错误

面对动画警告:未指定`useNativeDriver`.这是必需的选项,并且必须在REACT本机中显式设置为`true`或`False`

如何在REACTIVE js中动态添加或删除输入字段?

react -无法获取函数的最新参数值

React-apexcharts 中的 Y 轴刻度不会动态更新符号

console.logs 没有显示在浏览器控制台上,但显示在我的终端上

如何更改TimePicker中下拉菜单的背景 colored颜色 和字体 colored颜色 - MUI React

为什么 useEffect 的初始化对于加载 localStorage 不起作用?

useEffect 内的 onClick 和 addEventListener 之间的 click 事件顺序差异

获取更多数据后更新 DOM,而不刷新 React.js 中的页面

无法使axiosmockadapter正常工作

使用 react-markdown 组件时 Tailwind CSS 的问题

有没有办法根据 Rechart 中的 activeDot 更改值?

调用 Jest 和服务方法的问题

需要帮助在 document.queryselector 的 nextjs 页面上插入 useEffect 状态

如何不旋转 mui 自动完成弹出图标?

我在使用 Elements of stripe 时使用 React router v6