taro-material
Version:
Mini Program components that implement Google's Material Design.
67 lines (57 loc) • 1.54 kB
JavaScript
import Nerv from "nervjs";
import Taro, { Component } from "@tarojs/taro-h5";
import { View, Picker } from '@tarojs/components';
import dayjs from 'dayjs';
import RMTextField from "../TextField/index";
class RMDatePicker extends Component {
constructor(props) {
super(props);
if (!props.value && props.format) {
this.props.value = dayjs().format(props.format);
}
}
componentDidMount() {
const { value, onChange } = this.props;
onChange(value);
}
handelDateChange = e => {
const { onChange } = this.props;
const value = e.detail.value;
onChange(value);
};
render() {
const {
name,
title,
placeholder,
disabled,
start,
end,
fields,
required,
format,
value
} = this.props;
return <View className="container">
<Picker mode="date" onChange={this.handelDateChange} value={value} start={start} end={end} disabled={disabled} fields={fields}>
<View className="picker">
<RMTextField name={name} title={title} type="date" placeholder={placeholder} value={value} editable={false} disabled={disabled} readOnlyStyle="normal" required={required} />
</View>
</Picker>
</View>;
}
}
RMDatePicker.defaultProps = {
title: '日期',
name: 'date',
placeholder: '请选择日期',
fields: 'day', // year, month, day
start: '',
end: '',
disabled: false,
onChange: () => {},
required: false,
value: '',
format: 'YYYY-MM-DD'
};
export default RMDatePicker;