我尝试在react native中使用一个datepiker来控制台日志记录在我单击“我要控制台”按钮时的峰值日期。日志(选定)选定日期
const [text, setTextname] = useState();
const [mydate, setDate] = useState(new Date());
const [displaymode, setMode] = useState('date');
const [isDisplayDate, setShow] = useState(false);
const changeSelectedDate = (event, selectedDate) => {
const currentDate = selectedDate || mydate;
let date = moment(selectedDate).format('DD/MM/YYYY');
console.log('dadad', date);
setTextname(date);
setShow(false);
};
const showMode = currentMode => {
setShow(true);
setMode(currentMode);
};
const displayDatepicker = () => {
showMode('date');
};
function getdata() {
console.log('sdsds', text);
}
<Button onPress={displayDatepicker} title="Show date picker!" />
{isDisplayDate && (
<DateTimePicker
testID="dateTimePicker"
value={mydate}
mode={displaymode}
is24Hour={true}
display="default"
onChange={text => changeSelectedDate()}
// onChange={changeSelectedDate}
/>
)}
<View style={styles.buttonw}>
<Button
color="#7743DB"
title="Lets Go"
type="submit"
onPress={() => getdata()}
/>
</View>
我已经显示了datepiker,但我无法选择日期并将其传递给getdata
3条答案
按热度按时间wrrgggsh1#
移除
在函数changeSelectedDate中替换
与
和
由
最后
函数更改
xmq68pz92#
您必须在更改日期函数中的setDate状态上设置日期。
m1m5dgzv3#
可以使用onDateChange方法将日期保存到State