@td-design/react-native-picker
Version:
基于 @td-design/react-native 的 picker 组件
59 lines • 1.61 kB
JavaScript
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
import React from 'react';
import { useSafeAreaInsets } from 'react-native-safe-area-context';
import { Flex } from '@td-design/react-native';
import dayjs from 'dayjs';
import WheelPicker from '../WheelPicker';
import useDatePicker from './useDatePicker';
const DatePicker = _ref => {
let {
value = new Date(),
minDate,
maxDate,
mode,
labelUnit,
format,
onChange,
...restProps
} = _ref;
const {
onValueChange,
getValueCols
} = useDatePicker({
minDate,
maxDate,
mode,
labelUnit,
format,
value,
onChange
});
const {
bottom
} = useSafeAreaInsets();
const {
values,
cols
} = getValueCols();
return /*#__PURE__*/React.createElement(Flex, {
backgroundColor: "white",
style: {
paddingBottom: bottom
}
}, cols.map((col, index) => {
return /*#__PURE__*/React.createElement(WheelPicker, _extends({
key: index
}, restProps, {
data: col,
value: values[index],
onChange: value => onValueChange(value, index)
}));
}));
};
export default /*#__PURE__*/React.memo(DatePicker, (p, n) => {
if (!p.value || !n.value) {
return true;
}
return dayjs(p.value).isSame(dayjs(n.value));
});
//# sourceMappingURL=index.js.map