javascript - 如何使用react js显示表格

标签 javascript reactjs

我是 reactjs 的新手,我只是想用用户名和密码创建一个页面。单击 submit 时,它应该会在同一页面中显示表名列表。为此,我有两个 react 组件,将其放在一个单独的 js 文件中。因此,当单击按钮时,应生成表名。我尝试了示例代码,但无法显示列表。所以在 reactjs 中寻求帮助。

表格内容.js

    import React from 'react';

class tableContent extends React.Component {
    render() {
        return (
            <select name="sometext" multiple="multiple">
                <option>Table1</option>
                <option>Table2</option>
                <option>Table3</option>
                <option>Table4</option>
                <option>Table5</option>
            </select>

        )
    }
}

export default tableContent;

登录.js

import React from 'react';
import tableContent from './tables';
class Login extends React.Component{
    constructor(){
        super();
        this.state={
            showComponent : false,
        };
        this.buttonClick = this.buttonClick.bind(this);
    }

    buttonClick(){
        this.setState({
            showComponent: true,
        })
    }
    render(){
        return(
            <div>
                <form>
                    <label>userName :</label>
                    <input type="text" />
                    <br/>
                    <label>Password :</label>
                    <input type="text" />
                    <button onClick={this.buttonClick.bind(this)}> Submit </button>
                  </form>
                  <tableContent />
            </div>  
        )
    }
}

export default Login;

最佳答案

将名称tableContent更改为TableContent,因为react组件的名称必须以大写字母开头,否则将被视为html 元素。

buttonClick 函数中使用 e.preventDefault(); 来阻止自动提交表单。

检查工作代码:

class Login extends React.Component{
    constructor(){
        super();
        this.state={
            showComponent : false,
        };
    }

    buttonClick(e){
        e.preventDefault();
        this.setState({
            showComponent: true,
        })
    }
    render(){
        return(
            <div>
                <form>
                    <label>userName :</label>
                    <input type="text" />
                    <br/>
                    <label>Password :</label>
                    <input type="text" />
                    <button onClick={this.buttonClick.bind(this)}> Submit </button>
                  </form>
                  {this.state.showComponent && <TableContent />}
            </div>  
        )
    }
}
class TableContent extends React.Component {
    render() {
        return (
            <select name="sometext" multiple="multiple">
                <option>Table1</option>
                <option>Table2</option>
                <option>Table3</option>
                <option>Table4</option>
                <option>Table5</option>
            </select>

        )
    }
}

ReactDOM.render(<Login/>, document.getElementById('app'))
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>

<div id ='app'/>

关于javascript - 如何使用react js显示表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43759718/

相关文章:

javascript - 如何获取 CSS3-3d 转换元素的屏幕位置?

javascript - WebStorm Unresolved 变量警告

javascript - 如何在 React Native 的 <Text> JSX 标签中渲染字符串中的变量

reactjs - React Query 似乎没有缓存

javascript - 如何改变 PhysicsJS 中圆圈的颜色?

javascript - 如何删除 Google OAuth2 gapi 事件监听器?

javascript - 如何从 react 中的映射数据中过滤数据

javascript - 如何使用 native react 在平面列表中显示具有动态名称的数组数据列表?

javascript - 无法与转换中的 html 元素交互

javascript - 删除重复的数组值然后存储它们 [react]