Как использовать NativeBase DatePicker

Учитывая этот DatePicker Api из NativeBase v2.5.1, как я должен фиксировать событие даты изменения с новой выбранной датой?

Если я хорошо понимаю, выбранная дата доступна только во внутреннем состоянии компонента:

setDate(date) {
    this.setState({ chosenDate: new Date(date) });
}

Я полагаю, что могу использовать собственный ref api реакции, но это кажется неправильным, поскольку другие аналогичные компоненты предлагают событие onDateChange, например: реагировать-native-datepicker

См. PR github.com/GeekyAnts/NativeBase/pull/1987

akhil xavier 11.06.2018 11:48

Да, кажется, лучше! Почему бы не сделать это и для Android?

user2457870 11.06.2018 12:04

Исправлено с помощью v2.5.2

Supriya Kalghatgi 15.06.2018 07:38
<DatePicker style = {{ width: 200 }} date = {this.state.date} mode = "date" placeholder = "select date" format = "YYYY-MM-DD" minDate = "2016-05-01" maxDate = "2017-11-01" confirmBtnText = "Confirm" cancelBtnText = "Cancel" onDateChange = {date => this.dateChangedHandler(date)} />
sg28 06.03.2019 01:58

Вышеупомянутое должно решить ваше требование. просто добавьте функцию dateChangedHandler ()

sg28 06.03.2019 02:00

увидеть это docs.nativebase.io/Components.html#date-picker-def-headref

Abhi 04.02.2020 11:44
Умерло ли Create-React-App?
Умерло ли Create-React-App?
В этом документальном фильме React.dev мы исследуем, мертв ли Create React App (CRA) и какое будущее ждет этот популярный фреймворк React.
Освоение React Native: Пошаговое руководство для начинающих
Освоение React Native: Пошаговое руководство для начинающих
React Native - это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией...
В чем разница между react native и react ?
В чем разница между react native и react ?
React и React Native - два популярных фреймворка для создания пользовательских интерфейсов, но они предназначены для разных платформ. React - это...
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
Хуки React: что это такое и как их использовать
Хуки React: что это такое и как их использовать
Хуки React - это мощная функция библиотеки React, которая позволяет разработчикам использовать состояние и другие возможности React без написания...
6
6
17 286
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Проверьте документы для выбора даты https://docs.nativebase.io/Components.html#date-picker-def-headref

Пример примера из NativeBase KitchenSink https://github.com/GeekyAnts/NativeBase-KitchenSink/blob/master/src/screens/datepicker/index.js

Исправлено с помощью v2.5.2

@Supriya Kalghatgi, хотя я использую средство выбора даты из собственной базы, когда средство выбора даты отображается на ios, оно отображается с белым фоном вместо пользовательского интерфейса, в котором вызывается средство выбора даты. версия native-base: "2.7.2", есть ли решение или это ошибка? ,пожалуйста, проверьте

Adarsh 07.08.2018 15:57

Вы можете установить,

onDateChange = {(date) => this.setDate(date)}

и убедитесь, что вы обновили версию native-base до v2.6.1

Выезд: v2.6.1

Исправлено в native-base v2.6.1 и новее.

<DatePicker
formatChosenDate = {date => {return moment(date).format('YYYY-MM-DD');}}
..... />

Я пытаюсь изменить дату по умолчанию в коде, например, При добавлении 6 месяцев к сегодняшней дате значение обновляется в состоянии, но не обновляется в компоненте (stackoverflow.com/questions/62147922/…). Любые идеи?

jmckie 10.06.2020 15:16
import {DatePicker} from 'native-base'

        this.state = {
            date : ''
        }
    render(){
        console.info('selected date',this.state.date)
        render(
            <View>
                <DatePicker
                    defaultDate = {new Date(1994, 3, 23)}
                    // minimumDate = {new Date()}
                    textStyle = {'#000'}
                    placeHolderTextStyle = {'#000'}
                    onDateChange = {(date) => this.setState({ date })}
                 />
            </View>
        )
    }

Другие вопросы по теме