From 39c9044dc64676de8de33641854d4966294d2e58 Mon Sep 17 00:00:00 2001 From: Zuxuan Liang Date: Tue, 29 Dec 2015 22:48:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=82=B9=E5=87=BB=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E6=8C=89=E9=92=AE=E6=97=B6=E7=9A=84=E8=A7=A6=E5=8F=91?= =?UTF-8?q?=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index f2fb25a..f218451 100644 --- a/index.js +++ b/index.js @@ -32,7 +32,8 @@ export default class PickerAny extends React.Component { showDuration: PropTypes.number, pickerData: PropTypes.any.isRequired, selectedValue: PropTypes.any.isRequired, - onPickerDone: PropTypes.func + onPickerDone: PropTypes.func, + onPickerCancel: PropTypes.func } static defaultProps = { @@ -40,7 +41,8 @@ export default class PickerAny extends React.Component { pickerCancelBtnText: '取消', pickerHeight: 250, showDuration: 300, - onPickerDone: ()=>{} + onPickerDone: ()=>{}, + onPickerCancel: ()=>{} } constructor(props, context){ @@ -71,6 +73,7 @@ export default class PickerAny extends React.Component { let pickerData = props.pickerData; let selectedValue = props.selectedValue; let onPickerDone = props.onPickerDone; + let onPickerCancel = props.onPickerCancel; let pickerStyle = pickerData.constructor === Array ? 'parallel' : 'cascade'; let firstWheelData; @@ -115,6 +118,7 @@ export default class PickerAny extends React.Component { pickerData, selectedValue, onPickerDone, + onPickerCancel, //list of first wheel data firstWheelData, //first wheel selected value @@ -187,6 +191,11 @@ export default class PickerAny extends React.Component { this.pickerWheel.moveDown(); } + _pickerCancel() { + this._toggle(); + this.state.onPickerCancel(); + } + _pickerFinish(){ this._toggle(); this.state.onPickerDone(this.pickedValue); @@ -432,7 +441,7 @@ export default class PickerAny extends React.Component { {this.toggle()}}>{this.state.pickerCancelBtnText} + onPress={this._pickerCancel.bind(this)}>{this.state.pickerCancelBtnText} {this.state.pickerTitle} -- 2.26.2