table,的输入框改变js组件
/*
使用方式如下,与DateEdit使用方式基本一致
1、引用组件
2、 <TableDateEdit
        key={record.id + 'start'}                   //key随意指定
        txtValue={record.planStartTime}             //控件需要显示的内容
        rowID={record.id}                           //要更新的数据id
        txtChange={this.txtChange}        //更新数据执行的方法,方法名称随意指定
    />
3、txtChange = (id, value) => {}        //包含两个参数:id需要更新的数据id,value需要更新的数据值
*/
import React,{Fragment} from 'react';
import { Input } from 'antd';
class TableInputEdit extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            edit:false
        };
    }
    //文本框的值变化
    onInputChange=(event)=>{
      const { rowID,txtChange } = this.props;
      txtChange(rowID,event.target.value);
      this.setState({edit:false});
    }
    onSpanClick=()=>{
      this.setState({edit:true});
    }
    componentDidUpdate(){
      const { input } = this.refs.txtInput; 
      input.focus();  //当元素获得焦点时(当通过鼠标点击选中元素或通过 tab 键定位到元素时),发生 focus 事件。
    }
    render() {
        const { txtValue } = this.props; //传入的值
        const { edit } = this.state;//控制是否编辑
        let inputStyle=edit?{display:'block'}:{display:'none'};
        let spanStyle=edit?{display:'none'}:{cursor:"pointer",display:"block",minWidth:"30px",minHeight:"20px",overflow:"hidden",
        whiteSpace:"nowrap",textOverflow:"ellipsis"};
          return (
            <Fragment>
              <Input ref="txtInput" 
                  defaultValue={txtValue} 
                  onPressEnter={this.onInputChange}  //按下回车的回调
                  onBlur={this.onInputChange} //onblur 事件会在对象失去焦点时发生。
                  style={inputStyle} //控制显隐
                  />
              <span 
                  style={spanStyle} 
                  onClick={this.onSpanClick}  //点击触发
                  >{txtValue}</span>
            </Fragment>
            );
        
    }
}
export default TableInputEdit;
    1、路在何方?
    路在脚下
2、何去何从?
    每个人都在探索,未来的方向在何处。如果说某些方向是世人已经公认的,那么就先按照公认的去走吧(ps:站在巨人的肩膀上看世界会清晰)。
 如果说方向,当今世人还不清晰准确。那么就大胆往前走吧,对与错并不重要。心中的方向更加重要。
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号