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:站在巨人的肩膀上看世界会清晰)。
如果说方向,当今世人还不清晰准确。那么就大胆往前走吧,对与错并不重要。心中的方向更加重要。