Skip to content

Commit cec3c8a

Browse files
✨ [feature] add feature of button customized.(#3)
1 parent 49d2fc7 commit cec3c8a

File tree

4 files changed

+19
-6
lines changed

4 files changed

+19
-6
lines changed

README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,9 @@ ReactDOM.render(<App />, document.getElementById('react-box'));
112112
| dateFormat | Array | ['YYYY', 'M', 'D'] | according to year, month, day format specified display text. E.g ['YYYY年', 'MM月', 'DD日']|
113113
| value | Date | new Date() | date value |
114114
| min | Date | new Date(1970, 0, 1) | minimum date |
115-
| max | Date | new Date(2050, 0, 1) | maximum date |
115+
| max | Date | new Date(2050, 0, 1) | maximum date |
116+
| confirmText | String | 完成 | customize the selection time button text |
117+
| cancelText | String | 取消 | customize the cancel button text |
116118
| onSelect | Function | () => {} | the callback function after click button of done, Date object as a parameter |
117119
| onCancel | Function | () => {} | the callback function after click button of cancel |
118120

lib/DatePicker.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ class DatePicker extends Component {
6565
* @return {Object} JSX对象
6666
*/
6767
render() {
68-
const { min, max, theme, dateFormat } = this.props;
68+
const { min, max, theme, dateFormat, confirmText, cancelText } = this.props;
6969
const value = this.state.value;
7070
const themeClassName =
7171
['default', 'dark', 'ios', 'android', 'android-dark'].indexOf(theme) === -1 ?
@@ -101,10 +101,10 @@ class DatePicker extends Component {
101101
<div className="datepicker-navbar">
102102
<a
103103
className="datepicker-navbar-btn"
104-
onClick={this.handleFinishBtnClick}>完成</a>
104+
onClick={this.handleFinishBtnClick}>{confirmText}</a>
105105
<a
106106
className="datepicker-navbar-btn"
107-
onClick={this.props.onCancel}>取消</a>
107+
onClick={this.props.onCancel}>{cancelText}</a>
108108
</div>
109109
</div>
110110
);
@@ -117,6 +117,8 @@ DatePicker.propTypes = {
117117
min: PropTypes.object,
118118
max: PropTypes.object,
119119
dateFormat: PropTypes.array,
120+
confirmText: PropTypes.string,
121+
cancelText: PropTypes.string,
120122
onSelect: PropTypes.func,
121123
onCancel: PropTypes.func,
122124
};

lib/DatePickerItem.js

+7-2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ const DATE_LENGTH = 10; // 日期的个数
1212
const MIDDLE_INDEX = Math.floor(DATE_LENGTH / 2); // 日期数组中间值的索引
1313
const MIDDLE_Y = - DATE_HEIGHT * MIDDLE_INDEX; // translateY值
1414

15+
const isUndefined = val => typeof val === 'undefined';
1516

1617
/**
1718
* Class Date组件类
@@ -171,7 +172,9 @@ class DatePickerItem extends Component {
171172

172173
handleStart(event) {
173174
this.touchY =
174-
(event.targetTouches && event.targetTouches[0] && event.targetTouches[0].pageY) ||
175+
(!isUndefined(event.targetTouches) &&
176+
!isUndefined(event.targetTouches[0])) ?
177+
event.targetTouches[0].pageY :
175178
event.pageY;
176179

177180
this.translateY = this.state.translateY;
@@ -180,7 +183,9 @@ class DatePickerItem extends Component {
180183

181184
handleMove(event) {
182185
const touchY =
183-
(event.targetTouches && event.targetTouches[0] && event.targetTouches[0].pageY) ||
186+
(!isUndefined(event.targetTouches) &&
187+
!isUndefined(event.targetTouches[0])) ?
188+
event.targetTouches[0].pageY :
184189
event.pageY;
185190

186191
const dir = touchY - this.touchY;

lib/index.js

+4
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ ModalDatePicker.propTypes = {
4242
min: PropTypes.object,
4343
max: PropTypes.object,
4444
dateFormat: PropTypes.array,
45+
confirmText: PropTypes.string,
46+
cancelText: PropTypes.string,
4547
onSelect: PropTypes.func,
4648
onCancel: PropTypes.func,
4749
};
@@ -54,6 +56,8 @@ ModalDatePicker.defaultProps = {
5456
min: new Date(1970, 0, 1),
5557
max: new Date(2050, 0, 1),
5658
dateFormat: ['YYYY', 'M', 'D'],
59+
confirmText: '完成',
60+
cancelText: '取消',
5761
onSelect: () => {},
5862
onCancel: () => {},
5963
};

0 commit comments

Comments
 (0)