2017-01-17 12 views

答えて

2

あなたが与えられたコード例からshowPicker方法で日付を選択し得ることができます:

showPicker = async (stateKey, options) => { 
    try { 
     var newState = {}; 
     const {action, year, month, day} = await DatePickerAndroid.open(options); 
     if (action === DatePickerAndroid.dismissedAction) { 
     newState[stateKey + 'Text'] = 'dismissed'; 
     } else { 
     // <<<< Newly selected date >>>> 
     var date = new Date(year, month, day); 
     newState[stateKey + 'Text'] = date.toLocaleDateString(); 
     newState[stateKey + 'Date'] = date; 
     } 
     this.setState(newState); 
    } catch ({code, message}) { 
     console.warn(`Error in example '${stateKey}': `, message); 
    } 
    }; 
render() { 
    return (
    <TouchableWithoutFeedback 
    onPress={this.showPicker.bind(this, 'spinner', { date: this.state.presetDate })}> 
    <View> 
     <Text style={styles.text}>Date selector</Text> 
    </View> 
    </TouchableWithoutFeedback> 
) 
} 
2

我々は非同期関数を作成し、ドキュメント上のコード例を見ることができるように、この関数は約束のデータを処理し、この機能をトリガしますあなたにコンポーネントonPress関数を持つTextInputまたはonFocus関数を持つTexInput。例:

async _onMyDatePress(){ 
    try { 
      const {action, year, month, day} = await DatePickerAndroid.open({   
       date: new Date() 
      }); 

      if(action == DatePickerAndroid.dateSetAction){ 
       console.log(year + ' ' + month + ' ' + day); 
      } 

     } catch ({code, message}) { 
      console.warn('Cannot open date picker', message); 
     } 
} 
関連する問題