diff --git a/package.json b/package.json index 1fbeb41..8f1b2d3 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "react-native-pickers", + "name": "react-native-pickers-1", "version": "2.0.0", "description": "纯JS实现的React-Native 各种弹窗、日期选择控件、地址选择控件等", "main": "index.js", @@ -22,4 +22,4 @@ ], "author": "iBerHK", "license": "ISC" -} \ No newline at end of file +} diff --git a/view/AreaPicker.js b/view/AreaPicker.js index 94b5362..3ac3637 100644 --- a/view/AreaPicker.js +++ b/view/AreaPicker.js @@ -65,22 +65,21 @@ class AreaPicker extends BaseDialog { let province = []; let city = []; let county = []; - let firstCity = null; - let firstCountry = null; + let firstCity = firstCountry = ''; let areaData = this.getAreaData(); areaData.map((pitem) => { for (let pname in pitem) { province.push(pname) - if (pname == this.props.selectedValue[0]) { - pitem[pname].map(citem => { + if (this.props.selectedValue[1] && pname == this.props.selectedValue[0]) { + pitem[pname] && pitem[pname].map(citem => { for (let cname in citem) { - if (firstCity == null) { + if (!firstCity) { firstCity = cname; } city.push(cname); - if (cname == this.props.selectedValue[1]) { + if (this.props.selectedValue[2] && cname == this.props.selectedValue[1]) { county = citem[cname]; - if (firstCountry == null) { + if (!firstCountry) { firstCountry = citem[cname][0]; } } @@ -90,17 +89,21 @@ class AreaPicker extends BaseDialog { } }); - if (county.indexOf(this.props.selectedValue[2]) == -1) { + if (this.props.selectedValue[2] && county.indexOf(this.props.selectedValue[2]) == -1 && firstCountry) { this.props.selectedValue[2] = firstCountry; } - if (county.length == 0 && firstCity != null) { + if (this.props.selectedValue[1] && city.indexOf(this.props.selectedValue[1]) == -1 && firstCity) { this.props.selectedValue[1] = firstCity; return this.formatPickerData(); } + let pickerData = [province] + city.length && pickerData.push(city) + county.length && pickerData.push(county) + return { - pickerData: [province, city, county], visible: true + pickerData, visible: true }; } diff --git a/view/PickerView.js b/view/PickerView.js index 2837d39..0d9f65c 100644 --- a/view/PickerView.js +++ b/view/PickerView.js @@ -285,7 +285,7 @@ class PickerView extends BaseComponent { - { return false; }} @@ -333,7 +333,7 @@ class PickerView extends BaseComponent { fill="url(#grad)" clipPath="url(#clip)" /> - + */} @@ -341,4 +341,4 @@ class PickerView extends BaseComponent { } } -export default PickerView; \ No newline at end of file +export default PickerView;