tuya-panel-kit
Version:
a functional component library for developing tuya device panels!
59 lines (51 loc) • 1.52 kB
JavaScript
import React from 'react';
import PropTypes from 'prop-types';
import { View } from 'react-native';
import DatePicker from '../date-picker';
import withSkeleton from './withSkeleton';
import { StyledDatePicker } from './styled';
class DatePickerPopup extends React.Component {
static propTypes = {
...DatePicker.propTypes,
/**
* 按钮开关值
*/
switchValue: PropTypes.bool.isRequired,
/**
* 日期更改回调
*/
onDateChange: PropTypes.func,
/**
* 数据更改回调
*/
_onDataChange: PropTypes.func,
};
static defaultProps = {
onDateChange: () => {},
_onDataChange: () => {},
};
constructor(props) {
super(props);
const defaultData = props.date || props.defaultDate;
props._onDataChange(defaultData || props.minDate || new Date(2000, 0, 1, 0, 0, 0));
}
handleDateChange = date => {
const { onDateChange, _onDataChange } = this.props;
onDateChange && onDateChange(date);
_onDataChange && _onDataChange(date);
};
render() {
const {
switchValue,
onDateChange, // eslint-disable-line no-unused-vars
...datePickerProps
} = this.props;
return (
<View style={!switchValue && { opacity: 0.6 }} pointerEvents={!switchValue ? 'none' : 'auto'}>
<StyledDatePicker onDateChange={this.handleDateChange} {...datePickerProps} />
</View>
);
}
}
export const DatePickerModal = withSkeleton(DatePickerPopup, true);
export default withSkeleton(DatePickerPopup);