Advertisement
Guest User

Untitled

a guest
Jun 18th, 2018
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class ItemEditor extends PureComponent {
  2.     constructor(props) {
  3.         super(props);
  4.         this.state = {
  5.             itemId: '',
  6.             itemName: ''
  7.         }
  8.         this.onSave = this.onSave.bind(this);
  9.         this.onItemPropChange = this.onItemPropChange.bind(this);
  10.     }
  11.  
  12.     createChangedItem() {
  13.         return {id: this.state.itemId, name: this.state.itemName};
  14.     }
  15.    
  16.     onItemPropChange(propName, e) {
  17.         let st = {};
  18.         st[propName] = e.target.value;
  19.         this.setState(st);
  20.     }
  21.    
  22.     onSave(e) {
  23.         if (this.props.onSave) {
  24.             const item = Object.assign({}, this.props.item, this.createChangedItem());
  25.             this.props.onSave(this.props.item, item);
  26.         }
  27.     }
  28.    
  29.     render() {
  30.         return (
  31.             <div>
  32.             <input type="text" value={this.state.itemId} onChange={(e) => this.onItemPropChange('itemId', e)}/>
  33.             <input type="text" value={this.state.itemName} onChange={(e) => this.onItemPropChange('itemName', e)}/>
  34.             <button onClick={this.onSave}>Save</button>
  35.             </div>
  36.         );
  37.     }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement