2016-12-29 4 views
0

react-input-calendarを使用しています。私はdate onChangeイベントの値を取得し、それを新しいページに渡したいと思います。 どうすればいいですか?onCahngeイベントの価値を得るには?

コードは以下の通りです:

constructor() { 
    super(); 
    this.state = {value: new Date(),inputdate:''}; 
    this.handleChange = this.handleChange.bind(this); 
} 

handleChange(newDate, event) { 
    console.log(newDate); 
    this.setState({inputdate:newDate}); 
} 

<Calendar format='dddd DD MMM' closeOnSelect={true} date={this.state.value} 
ref="inputdate" inputName="inputdate" computableFormat='MM-DD-YYYY' onChange= 
{this.handleChange.bind(this,"inputdate")} /> 

私はhandleChangeの値を取得できますか?

+0

setStateが機能していないとはどういう意味ですか?実際にどこかで使っていますか? 'bind'の最後に" inputdate "を取り除くと、日付を変更するときに来るはずです。 'this.setState({inputdate:newDate}、function(){console.log(this.state.inputdate)});' これが正しい値を持っていれば、レンダリングで '

{this.state.inputdate}
'を実行することができます。 コンストラクタから 'inputdate: '''も削除してください。それは必要ではありません。あなたはこのコードを自分でデバッグし、それを実行する必要があります –

答えて

1

props.onChange, Function

default: null

Set a function that will be triggered whenever there is a change in the selected date. It will return the date in the props.computableFormat format.

は、ドキュメントによると、それはこのように利用可能であるべきである:

constructor(props) { 
    super(props); 

    this.handleChange = this.handleChange.bind(this); 
} 
handleChange(newDate, event) { 
    //newDate should be passed here 
    console.log(newDate); 
} 

<Calendar format='dddd DD MMM' closeOnSelect={true} date={this.state.value0} 
ref="inputdate" inputName="inputdate" computableFormat='MM-DD-YYYY' onChange= 
{this.handleChange} /> 

チェックsrcライブラリのコードも渡されたオブジェクトのプロパティライブラリはのonChangeを呼び出しますように見えます。小道具はnewDateに入っています。

if (this.props.onChange) { 
    this.props.onChange(computableDate) 
} 
+0

投げつけエラー 'Uncaught TypeError:未定義のプロパティ '値'を読み取れません。 –

+0

@TriyugiNarayanMani今すぐお試しください –

+0

@TriyugiNarayanManiいいえ、それは必要ありません。これはライブラリのsrcコードです。これはnewdateで渡す 'onChange'関数を呼び出しています。私が編集した 'handleChange'コードを見てください。 –

関連する問題