从ReactNative-DatePickerAndroid获取选择日期



我正在关注ReactNative DatePickerAndroid Docs。对于DatePickerIOS,我们有onDateChange方法。

有没有类似的方法可以从DatePickerAndroid中获取选定的日期?上面的文档没有提到任何代码示例来获取所选日期。

您可以从

给定的代码示例中获取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>
  )
}

正如我们在文档中看到的示例代码,创建一个异步函数,该函数将处理承诺数据,并将此函数触发到您的组件文本与onPress函数或TexInput与onFocus函数。 示例:

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);
        }   
}

相关内容

  • 没有找到相关文章

最新更新