为了账号安全,请及时绑定邮箱和手机立即绑定

应用className / onClick / onChange不能处理Custom React

应用className / onClick / onChange不能处理Custom React

波斯汪 2019-08-14 15:25:11
应用className / onClick / onChange不能处理Custom React Component我几乎是新手react。我正在尝试创建一个简单的编辑和创建掩码。这是代码:import React, { Component } from 'react';import Company from './Company';class CompanyList extends Component {     constructor(props) {         super(props);         this.state = {             search: '',             companies: props.companies        };     }     updateSearch(event) {         this.setState({ search: event.target.value.substr(0,20) })     }     addCompany(event) {         event.preventDefault();       let nummer = this.refs.nummer.value;       let bezeichnung = this.refs.bezeichnung.value;       let id = Math.floor((Math.random()*100) + 1);       $.ajax({           type: "POST",           context:this,           dataType: "json",           async: true,           url: "../data/post/json/companies",           data: ({                _token : window.Laravel.csrfToken,               nummer: nummer,               bezeichnung : bezeichnung,           }),           success: function (data) {             id = data.Nummer;             this.setState({               companies: this.state.companies.concat({id, nummer, bezeichnung})             })             this.refs.bezeichnung.value = '';             this.refs.nummer.value = '';           }       });     }     editCompany(event) {       alert('clicked');       event.preventDefault();       this.refs.bezeichnung.value = company.Bezeichnung;       this.refs.nummer.value = company.Nummer;     }     render() {       let filteredCompanies = this.state.companies.filter(         (company) => {           return company.bezeichnung.toLowerCase().indexOf(this.state.search.toLowerCase()) !== -1;         }       );
查看完整描述

2 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

你必须在你的子组件上绑定事件:

import React, { Component } from 'react';const Company = ({ company, onClick }) => 
   <li onClick={onClick}>
      {company.Nummer} {company.Bezeichnung}
   </li>export default Company

要么

const Company = ({ company, ...props }) => 
   <li {...props}>
      {company.Nummer} {company.Bezeichnung}
   </li>

如果你想要传递给你的Compagny组件(exept compagny)的所有道具都转到你的li标签。看ES6传播操作员和休息。


查看完整回答
反对 回复 2019-08-14
  • 2 回答
  • 0 关注
  • 675 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信