【问题标题】:how to loop in semantic ui react?如何循环语义用户界面反应?
【发布时间】:2018-02-07 06:03:29
【问题描述】:

我正在学习反应。对于 css,我使用语义 UI 反应。我正在尝试使用文档创建一个选项卡:https://react.semantic-ui.com/modules/tab。我现在了解它的工作原理我想根据用户要求生成动态选项卡。假设我有一个这样的对象:

[{name: "10jan", key: "10jan"}, 
 {name: "12jan", key: "12jan"},
 {name: "14jan", key: "14jan"}]

我想基于此生成动态选项卡。我的代码是这样的

const panes = [
    { dates.map((date) => (
        return (
          menuItem:{date.name},
          render(){
            <div>Test</div>
          }
        )
      ) }
    ]

我哪里做错了?

【问题讨论】:

    标签: javascript reactjs semantic-ui semantic-ui-react


    【解决方案1】:

    根据文档,您可以执行以下操作。见demo:

    import 'semantic-ui-css/semantic.min.css';
    import React, { Component } from 'react';
    import { render } from 'react-dom';
    import { Tab } from 'semantic-ui-react';
    
    const data = [
      { name: "10jan", key: "10jan" }, 
      { name: "12jan", key: "12jan" },
      { name: "14jan", key: "14jan" },
     ];
    
    const panes = data.map(d => ({
      menuItem: d.name,
      render: () => <Tab.Pane> { d.key }</Tab.Pane>
    }));
    
    const App = () => (
      <div>
        <Tab panes={ panes } />
      </div>
    );
    

    【讨论】:

      【解决方案2】:
      state = {
        dataArray:[{name: "10jan", key: "10jan"}, 
       {name: "12jan", key: "12jan"},
       {name: "14jan", key: "14jan"}]
      }
      
      renderItems() {
        const {dataArray} = this.state
        return dataArray.map((item,i) => <div key={i}>{item.name}</div>)
      }
      
      render() {
        return (
          <div>
             {this.renderItems()}
          </div>
        )
      }
      

      我们不会一次又一次地使用渲染方法。 这是一种渲染动态视图的方法

      【讨论】:

      • 它不会生成动态标签。我想生成动态标签
      • 生成动态视图和动态标签有什么区别。这里div 是动态视图。您只需要将您的 tabview HOC 放入其中,您也将获得动态选项卡..
      猜你喜欢
      • 1970-01-01
      • 2019-07-27
      • 1970-01-01
      • 2018-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-05
      • 1970-01-01
      相关资源
      最近更新 更多