2016-11-24 58 views
0

獲得一個類並向父級返回事件。我想獲取觸摸的按鈕數(標籤上的凸起按鈕)。我確實返回了這個事件,但是當我console.log()時我找不到我想要的。它包含一個Handler(object),Target(SyntheticUIEvent)和IsRevoked(bool)。從onTouchTap事件獲得價值

interface INumberButtonRow { 
row: number; 
handleButtonClicked: any; 
} 

export class NumberButtonRow extends React.Component<INumberButtonRow, any> { 
render() { 
    // Create button with a number label 
    return (<NumberButton buttonClicked={this.handleButtonClicked} number={1} />); 
} 

// Get number from onTouchTap or from number 
handleButtonClicked(onTouchTapEvent) { 
    console.log(onTouchTapEvent) 
    } 
} 

interface INumberButtonProps { 
number: number; 
buttonClicked: any; 
} 

export class NumberButton extends React.Component<INumberButtonProps, any> { 
render() { 
    let number = this.props.number.toString(10) 
    return <RaisedButton label={number} onTouchTap={this.props.buttonClicked}/>; 
    } 
} 

回答

1

onTouchTapEvent.target應該是按鈕元素,你應該能夠得到從標籤(您需要將它轉換爲any)。

但我認爲這是更好的:

export class NumberButtonRow extends React.Component<INumberButtonRow, any> { 
    ... 

    handleButtonClicked(label: string) { 
     console.log(label) 
    } 
} 

export class NumberButton extends React.Component<INumberButtonProps, any> { 
    render() { 
     return <RaisedButton label={number} onTouchTap={() => { 
      this.props.buttonClicked(this.props.number.toString(10)); 
     }}/>; 
    } 
}