@tarojs/components-react 4.1.9-beta.1 → 4.1.9-beta.1-patch.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/picker/index.js +22 -3
- package/dist/components/picker/index.js.map +1 -1
- package/dist/components/picker/picker-group.js +187 -81
- package/dist/components/picker/picker-group.js.map +1 -1
- package/dist/components/scroll-view/index.js +104 -30
- package/dist/components/scroll-view/index.js.map +1 -1
- package/dist/contexts/ScrollElementContext.js +6 -0
- package/dist/contexts/ScrollElementContext.js.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/original/components/picker/index.js +22 -3
- package/dist/original/components/picker/index.js.map +1 -1
- package/dist/original/components/picker/picker-group.js +187 -81
- package/dist/original/components/picker/picker-group.js.map +1 -1
- package/dist/original/components/picker/style/index.scss +146 -46
- package/dist/original/components/scroll-view/index.js +104 -30
- package/dist/original/components/scroll-view/index.js.map +1 -1
- package/dist/original/contexts/ScrollElementContext.js +6 -0
- package/dist/original/contexts/ScrollElementContext.js.map +1 -0
- package/dist/original/index.js +1 -0
- package/dist/original/index.js.map +1 -1
- package/dist/solid/components/picker/index.js +33 -14
- package/dist/solid/components/picker/index.js.map +1 -1
- package/dist/solid/components/picker/picker-group.js +188 -86
- package/dist/solid/components/picker/picker-group.js.map +1 -1
- package/dist/solid/components/scroll-view/index.js +109 -35
- package/dist/solid/components/scroll-view/index.js.map +1 -1
- package/dist/solid/contexts/ScrollElementContext.js +6 -0
- package/dist/solid/contexts/ScrollElementContext.js.map +1 -0
- package/dist/solid/index.css +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picker-group.js","sources":["../../../../src/components/picker/picker-group.tsx"],"sourcesContent":["import { ScrollView, View } from '@tarojs/components'\nimport Taro from '@tarojs/taro'\nimport * as React from 'react'\n\n// 添加类型定义\ntype TaroScrollView = React.ElementRef<typeof ScrollView>\ntype TaroView = React.ElementRef<typeof View>\n\nexport interface PickerGroupProps {\n mode?: 'basic' | 'time' | 'date' | 'region'\n range: any[]\n rangeKey?: string\n columnId: string\n updateIndex: (index: number, columnId: string, needRevise?: boolean) => void // 替换updateHeight\n onColumnChange?: (e: { columnId: string, index: number }) => void // 修改回调参数名称\n updateDay?: (value: number, fields: number) => void\n selectedIndex?: number // 添加selectedIndex参数\n _updateTrigger?: any // 仅用于强制触发更新\n colors?: {\n itemDefaultColor?: string // 选项字体默认颜色\n itemSelectedColor?: string // 选项字体选中颜色\n }\n}\n\n// 定义常量\nconst PICKER_LINE_HEIGHT = 34 // px\nconst PICKER_VISIBLE_ITEMS = 7 // 可见行数\nconst PICKER_BLANK_ITEMS = 3 // 空白行数\n\n// 辅助函数:获取系统信息的 lengthScaleRatio 并设置 targetScrollTop\nconst setTargetScrollTopWithScale = (\n setTargetScrollTop: (value: number) => void,\n baseValue: number,\n randomOffset?: number\n) => {\n Taro.getSystemInfo({\n success: (res) => {\n // 使用类型断言访问可能不存在的 lengthScaleRatio 属性\n const lengthScaleRatio = (res as any).lengthScaleRatio ?? 1\n if (!(res as any).lengthScaleRatio) {\n console.warn('Taro.getSystemInfo: lengthScaleRatio 不存在,使用默认值 1')\n }\n const scaledValue = baseValue * lengthScaleRatio\n const finalValue = randomOffset !== undefined ? scaledValue + randomOffset : scaledValue\n setTargetScrollTop(finalValue)\n },\n fail: (err) => {\n console.error('获取系统信息失败:', err)\n // 失败时使用默认值 1\n const finalValue = randomOffset !== undefined ? baseValue + randomOffset : baseValue\n setTargetScrollTop(finalValue)\n }\n })\n}\n\nexport function PickerGroupBasic(props: PickerGroupProps) {\n const {\n range = [],\n rangeKey,\n columnId,\n updateIndex,\n onColumnChange,\n selectedIndex = 0, // 使用selectedIndex参数,默认为0\n colors = {},\n } = props\n const [targetScrollTop, setTargetScrollTop] = React.useState(0)\n const scrollViewRef = React.useRef<TaroScrollView>(null)\n const itemRefs = React.useRef<Array<TaroView | null>>([])\n // 使用selectedIndex初始化当前索引\n const [currentIndex, setCurrentIndex] = React.useState(selectedIndex)\n // 触摸状态用于优化用户体验\n const [isTouching, setIsTouching] = React.useState(false)\n\n const itemHeightRef = React.useRef(PICKER_LINE_HEIGHT)\n React.useEffect(() => {\n if (process.env.TARO_PLATFORM !== 'harmony') {\n if (scrollViewRef.current && scrollViewRef.current?.scrollHeigh) {\n itemHeightRef.current = scrollViewRef.current.scrollHeight / scrollViewRef.current.childNodes.length\n } else {\n console.warn('Height measurement anomaly')\n }\n }\n }, [range.length]) // 只在range长度变化时重新计算\n // 获取选中的索引\n const getSelectedIndex = (scrollTop: number) => {\n return Math.round(scrollTop / itemHeightRef.current)\n }\n\n // 当selectedIndex变化时,调整滚动位置\n React.useEffect(() => {\n if (scrollViewRef.current && range.length > 0 && !isTouching) {\n const baseValue = selectedIndex * itemHeightRef.current\n setTargetScrollTopWithScale(setTargetScrollTop, baseValue)\n setCurrentIndex(selectedIndex)\n }\n }, [selectedIndex, range])\n\n // 是否处于归中状态\n const isCenterTimerId = React.useRef<NodeJS.Timeout | null>(null)\n // 简化为直接在滚动结束时通知父组件\n const handleScrollEnd = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n // 做一个0.1s延时 0.1s之内没有新的滑动 则把选项归到中间 然后更新选中项\n isCenterTimerId.current = setTimeout(() => {\n if (!scrollViewRef.current) return\n\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n\n setIsTouching(false)\n const baseValue = newIndex * itemHeightRef.current\n const randomOffset = Math.random() * 0.001 // 随机数为了在一个项内滚动时强制刷新\n setTargetScrollTopWithScale(setTargetScrollTop, baseValue, randomOffset)\n updateIndex(newIndex, columnId)\n onColumnChange?.({ columnId, index: newIndex })\n }, 100)\n }\n // 滚动处理 - 在滚动时计算索引然后更新选中项样式\n const handleScroll = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n if (newIndex !== currentIndex) {\n setCurrentIndex(newIndex)\n }\n }\n\n // 渲染选项\n const pickerItem = range.map((item, index) => {\n const content = rangeKey && item && typeof item === 'object' ? item[rangeKey] : item\n\n return (\n <View\n id={`picker-item-${columnId}-${index}`}\n key={index}\n ref={(el) => (itemRefs.current[index] = el)}\n className={`taro-picker__item${index === currentIndex ? ' taro-picker__item--selected' : ''}`}\n style={{\n height: PICKER_LINE_HEIGHT,\n color: index === currentIndex\n ? (colors.itemSelectedColor || undefined)\n : (colors.itemDefaultColor || undefined)\n }}\n >\n {content}\n </View>\n )\n })\n\n const realPickerItems = [\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-top-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ...pickerItem,\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-bottom-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ]\n\n return (\n <View className=\"taro-picker__group\">\n <View className=\"taro-picker__mask\" />\n <View className=\"taro-picker__indicator\" />\n <ScrollView\n ref={scrollViewRef}\n scrollY\n showScrollbar={false}\n className=\"taro-picker__content\"\n style={{\n height: PICKER_LINE_HEIGHT * PICKER_VISIBLE_ITEMS,\n }}\n scrollTop={targetScrollTop}\n onScroll={handleScroll}\n onTouchStart={() => setIsTouching(true)}\n onScrollEnd={handleScrollEnd}\n scrollWithAnimation\n >\n {realPickerItems}\n </ScrollView>\n </View>\n )\n}\n\n// 时间选择器实现\nexport function PickerGroupTime(props: PickerGroupProps) {\n const {\n range = [],\n rangeKey,\n columnId,\n updateIndex,\n selectedIndex = 0,\n colors = {},\n } = props\n\n const [targetScrollTop, setTargetScrollTop] = React.useState(0)\n const scrollViewRef = React.useRef<TaroScrollView>(null)\n const itemRefs = React.useRef<Array<TaroView | null>>([])\n const [currentIndex, setCurrentIndex] = React.useState(selectedIndex)\n const [isTouching, setIsTouching] = React.useState(false)\n\n const itemHeightRef = React.useRef(PICKER_LINE_HEIGHT)\n React.useEffect(() => {\n if (process.env.TARO_PLATFORM !== 'harmony') {\n if (scrollViewRef.current && scrollViewRef.current?.scrollHeigh) {\n itemHeightRef.current = scrollViewRef.current.scrollHeight / scrollViewRef.current.childNodes.length\n } else {\n console.warn('Height measurement anomaly')\n }\n }\n }, [range.length]) // 只在range长度变化时重新计算\n\n const getSelectedIndex = (scrollTop: number) => {\n return Math.round(scrollTop / itemHeightRef.current)\n }\n\n // 当selectedIndex变化时,调整滚动位置\n React.useEffect(() => {\n if (scrollViewRef.current && range.length > 0 && !isTouching) {\n const baseValue = selectedIndex * itemHeightRef.current\n setTargetScrollTopWithScale(setTargetScrollTop, baseValue)\n setCurrentIndex(selectedIndex)\n }\n }, [selectedIndex, range])\n\n // 是否处于归中状态\n const isCenterTimerId = React.useRef<NodeJS.Timeout | null>(null)\n\n // 简化为直接在滚动结束时通知父组件\n const handleScrollEnd = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n // 做一个0.1s延时 0.1s之内没有新的滑动 则把选项归到中间 然后更新选中项\n isCenterTimerId.current = setTimeout(() => {\n if (!scrollViewRef.current) return\n\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n setIsTouching(false)\n // 调用updateIndex执行限位逻辑,获取是否触发了限位\n const isLimited = Boolean(updateIndex(newIndex, columnId, true))\n // 如果没有触发限位,才执行归中逻辑\n if (!isLimited) {\n const baseValue = newIndex * itemHeightRef.current\n const randomOffset = Math.random() * 0.001\n setTargetScrollTopWithScale(setTargetScrollTop, baseValue, randomOffset)\n }\n }, 100)\n }\n\n // 滚动处理\n const handleScroll = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n if (newIndex !== currentIndex) {\n setCurrentIndex(newIndex)\n }\n }\n\n // 渲染选项\n const pickerItem = range.map((item, index) => {\n const content = rangeKey && item && typeof item === 'object' ? item[rangeKey] : item\n\n return (\n <View\n id={`picker-item-${columnId}-${index}`}\n key={index}\n ref={(el) => (itemRefs.current[index] = el)}\n className={`taro-picker__item${index === currentIndex ? ' taro-picker__item--selected' : ''}`}\n style={{\n height: PICKER_LINE_HEIGHT,\n color: index === currentIndex\n ? (colors.itemSelectedColor || undefined)\n : (colors.itemDefaultColor || undefined)\n }}\n >\n {content}\n </View>\n )\n })\n\n const realPickerItems = [\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-top-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ...pickerItem,\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-bottom-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ]\n\n return (\n <View className=\"taro-picker__group\">\n <View className=\"taro-picker__mask\" />\n <View className=\"taro-picker__indicator\" />\n <ScrollView\n ref={scrollViewRef}\n scrollY\n showScrollbar={false}\n className=\"taro-picker__content\"\n style={{\n height: PICKER_LINE_HEIGHT * PICKER_VISIBLE_ITEMS,\n }}\n scrollTop={targetScrollTop}\n onScroll={handleScroll}\n onTouchStart={() => setIsTouching(true)}\n onScrollEnd={handleScrollEnd}\n scrollWithAnimation\n >\n {realPickerItems}\n </ScrollView>\n </View>\n )\n}\n\n// 日期选择器实现\nexport function PickerGroupDate(props: PickerGroupProps) {\n const {\n range = [],\n columnId,\n updateDay,\n selectedIndex = 0,\n colors = {},\n } = props\n\n const [targetScrollTop, setTargetScrollTop] = React.useState(0)\n const scrollViewRef = React.useRef<TaroScrollView>(null)\n const [currentIndex, setCurrentIndex] = React.useState(selectedIndex)\n const [isTouching, setIsTouching] = React.useState(false)\n\n const itemHeightRef = React.useRef(PICKER_LINE_HEIGHT)\n React.useEffect(() => {\n if (process.env.TARO_PLATFORM !== 'harmony') {\n if (scrollViewRef.current && scrollViewRef.current?.scrollHeigh) {\n itemHeightRef.current = scrollViewRef.current.scrollHeight / scrollViewRef.current.childNodes.length\n } else {\n console.warn('Height measurement anomaly')\n }\n }\n }, [range.length]) // 只在range长度变化时重新计算\n\n const getSelectedIndex = (scrollTop: number) => {\n return Math.round(scrollTop / itemHeightRef.current)\n }\n\n // 当selectedIndex变化时,调整滚动位置\n React.useEffect(() => {\n if (scrollViewRef.current && range.length > 0 && !isTouching) {\n const baseValue = selectedIndex * itemHeightRef.current\n setTargetScrollTopWithScale(setTargetScrollTop, baseValue)\n setCurrentIndex(selectedIndex)\n }\n }, [selectedIndex, range])\n\n // 是否处于归中状态\n const isCenterTimerId = React.useRef<NodeJS.Timeout | null>(null)\n\n // 简化为直接在滚动结束时通知父组件\n const handleScrollEnd = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n\n // 做一个0.1s延时 0.1s之内没有新的滑动 则把选项归到中间 然后更新选中项\n isCenterTimerId.current = setTimeout(() => {\n if (!scrollViewRef.current) return\n\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n\n setIsTouching(false)\n const baseValue = newIndex * itemHeightRef.current\n const randomOffset = Math.random() * 0.001 // 随机数为了在一个项内滚动时强制刷新\n setTargetScrollTopWithScale(setTargetScrollTop, baseValue, randomOffset)\n\n // 更新日期值\n if (updateDay) {\n // 解析文本中的数字(移除年、月、日等后缀)\n const valueText = range[newIndex] || ''\n const numericValue = parseInt(valueText.replace(/[^0-9]/g, ''))\n updateDay(isNaN(numericValue) ? 0 : numericValue, parseInt(columnId))\n }\n }, 100)\n }\n\n // 滚动处理\n const handleScroll = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n if (newIndex !== currentIndex) {\n setCurrentIndex(newIndex)\n }\n }\n\n // 渲染选项\n const pickerItem = range.map((item, index) => {\n return (\n <View\n id={`picker-item-${columnId}-${index}`}\n key={index}\n className={`taro-picker__item${index === currentIndex ? ' taro-picker__item--selected' : ''}`}\n style={{\n height: PICKER_LINE_HEIGHT,\n color: index === currentIndex\n ? (colors.itemSelectedColor || undefined)\n : (colors.itemDefaultColor || undefined)\n }}\n >\n {item}\n </View>\n )\n })\n\n const realPickerItems = [\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-top-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ...pickerItem,\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-bottom-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ]\n\n return (\n <View className=\"taro-picker__group\">\n <View className=\"taro-picker__mask\" />\n <View className=\"taro-picker__indicator\" />\n <ScrollView\n ref={scrollViewRef}\n scrollY\n showScrollbar={false}\n className=\"taro-picker__content\"\n style={{ height: PICKER_LINE_HEIGHT * PICKER_VISIBLE_ITEMS }}\n scrollTop={targetScrollTop}\n onScroll={handleScroll}\n onTouchStart={() => setIsTouching(true)}\n onScrollEnd={handleScrollEnd}\n scrollWithAnimation\n >\n {realPickerItems}\n </ScrollView>\n </View>\n )\n}\n\n// 地区选择器实现\nexport function PickerGroupRegion(props: PickerGroupProps) {\n const {\n range = [],\n rangeKey,\n columnId,\n updateIndex,\n selectedIndex = 0, // 使用selectedIndex参数,默认为0\n colors = {},\n } = props\n\n const scrollViewRef = React.useRef<any>(null)\n const [targetScrollTop, setTargetScrollTop] = React.useState(0)\n const [currentIndex, setCurrentIndex] = React.useState(selectedIndex)\n const [isTouching, setIsTouching] = React.useState(false)\n\n const itemHeightRef = React.useRef(PICKER_LINE_HEIGHT)\n const isUserBeginScrollRef = React.useRef(false)\n React.useEffect(() => {\n if (process.env.TARO_PLATFORM !== 'harmony') {\n if (scrollViewRef.current && scrollViewRef.current?.scrollHeigh) {\n itemHeightRef.current = scrollViewRef.current.scrollHeight / scrollViewRef.current.childNodes.length\n } else {\n console.warn('Height measurement anomaly')\n }\n }\n }, [range.length]) // 只在range长度变化时重新计算\n\n const getSelectedIndex = (scrollTop: number) => {\n return Math.round(scrollTop / itemHeightRef.current)\n }\n\n // 当selectedIndex变化时,调整滚动位置\n React.useEffect(() => {\n if (scrollViewRef.current && range.length > 0 && !isTouching) {\n const baseValue = selectedIndex * itemHeightRef.current\n setTargetScrollTopWithScale(setTargetScrollTop, baseValue)\n setCurrentIndex(selectedIndex)\n }\n }, [selectedIndex, range])\n\n // 滚动结束处理\n const isCenterTimerId = React.useRef<NodeJS.Timeout | null>(null)\n const handleScrollEnd = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n // 做一个0.1s延时 0.1s之内没有新的滑动 则把选项归到中间 然后更新选中项\n isCenterTimerId.current = setTimeout(() => {\n if (!scrollViewRef.current) return\n\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n\n setIsTouching(false)\n const baseValue = newIndex * itemHeightRef.current\n const randomOffset = Math.random() * 0.001 // 随机数为了在一个项内滚动时强制刷新\n setTargetScrollTopWithScale(setTargetScrollTop, baseValue, randomOffset)\n updateIndex(newIndex, columnId, false, isUserBeginScrollRef.current)\n }, 100)\n }\n\n // 滚动处理 - 在滚动时计算索引\n const handleScroll = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop)\n if (newIndex !== currentIndex) {\n setCurrentIndex(newIndex)\n }\n }\n\n // 渲染选项\n const pickerItem = range.map((item, index) => {\n const content = rangeKey && item && typeof item === 'object' ? item[rangeKey] : item\n\n return (\n <View\n id={`picker-item-${columnId}-${index}`}\n key={index}\n className={`taro-picker__item${index === currentIndex ? ' taro-picker__item--selected' : ''}`}\n style={{\n height: PICKER_LINE_HEIGHT,\n color: index === currentIndex\n ? (colors.itemSelectedColor || undefined)\n : (colors.itemDefaultColor || undefined)\n }}\n >\n {content}\n </View>\n )\n })\n\n const realPickerItems = [\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-top-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ...pickerItem,\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-bottom-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ]\n return (\n <View className=\"taro-picker__group\">\n <View className=\"taro-picker__mask\" />\n <View className=\"taro-picker__indicator\" />\n <ScrollView\n ref={scrollViewRef}\n scrollY\n showScrollbar={false}\n className=\"taro-picker__content\"\n style={{ height: PICKER_LINE_HEIGHT * PICKER_VISIBLE_ITEMS }}\n scrollTop={targetScrollTop}\n onScroll={handleScroll}\n onTouchStart={() => {\n setIsTouching(true)\n isUserBeginScrollRef.current = true\n }}\n onScrollEnd={handleScrollEnd}\n scrollWithAnimation\n >\n {realPickerItems}\n </ScrollView>\n </View>\n )\n}\n\n// 默认导出,根据 mode 自动分发\nexport function PickerGroup(props: PickerGroupProps) {\n switch (props.mode) {\n case 'time':\n return <PickerGroupTime {...props} />\n case 'date':\n return <PickerGroupDate {...props} />\n case 'region':\n return <PickerGroupRegion {...props} />\n default:\n return <PickerGroupBasic {...props} />\n }\n}\n"],"names":["PICKER_LINE_HEIGHT","PICKER_VISIBLE_ITEMS","PICKER_BLANK_ITEMS","setTargetScrollTopWithScale","setTargetScrollTop","baseValue","randomOffset","Taro","getSystemInfo","success","res","lengthScaleRatio","_a","console","warn","scaledValue","finalValue","undefined","fail","err","error","PickerGroupBasic","props","range","rangeKey","columnId","updateIndex","onColumnChange","selectedIndex","colors","targetScrollTop","React","useState","scrollViewRef","useRef","itemRefs","currentIndex","setCurrentIndex","isTouching","setIsTouching","itemHeightRef","useEffect","process","env","TARO_PLATFORM","current","scrollHeigh","scrollHeight","childNodes","length","getSelectedIndex","scrollTop","Math","round","isCenterTimerId","handleScrollEnd","clearTimeout","setTimeout","newIndex","random","index","handleScroll","pickerItem","map","item","content","_jsx","View","id","ref","el","className","style","height","color","itemSelectedColor","itemDefaultColor","children","realPickerItems","Array","fill","_","idx","_jsxs","ScrollView","scrollY","showScrollbar","onScroll","onTouchStart","onScrollEnd","scrollWithAnimation","PickerGroupTime","isLimited","Boolean","PickerGroupDate","updateDay","valueText","numericValue","parseInt","replace","isNaN","PickerGroupRegion","isUserBeginScrollRef","PickerGroup","mode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"picker-group.js","sources":["../../../../src/components/picker/picker-group.tsx"],"sourcesContent":["import { ScrollView, View } from '@tarojs/components'\nimport Taro from '@tarojs/taro'\nimport * as React from 'react'\n\n// 添加类型定义\ntype TaroScrollView = React.ElementRef<typeof ScrollView>\ntype TaroView = React.ElementRef<typeof View>\n\nexport interface PickerGroupProps {\n mode?: 'basic' | 'time' | 'date' | 'region'\n range: any[]\n rangeKey?: string\n columnId: string\n updateIndex: (index: number, columnId: string, needRevise?: boolean, isUserBeginScroll?: boolean) => void // 替换updateHeight\n onColumnChange?: (e: { columnId: string, index: number }) => void // 修改回调参数名称\n updateDay?: (value: number, fields: number) => void\n selectedIndex?: number // 添加selectedIndex参数\n _updateTrigger?: any // 仅用于强制触发更新\n colors?: {\n itemDefaultColor?: string // 选项字体默认颜色\n itemSelectedColor?: string // 选项字体选中颜色\n lineColor?: string // 选中指示线颜色\n }\n}\n\n// 定义常量\nconst PICKER_LINE_HEIGHT = 34 // px\nconst PICKER_VISIBLE_ITEMS = 7 // 可见行数\nconst PICKER_BLANK_ITEMS = 3 // 空白行数\n\nconst getIndicatorStyle = (lineColor: string): React.CSSProperties => {\n return {\n borderTopColor: lineColor,\n borderBottomColor: lineColor\n }\n}\n\n// 大屏方案版本要求\nconst MIN_DESIGN_APP_VERSION = 16\n\n// 判断是否启用测量值缩放适配(true=启用, false=使用系统侧缩放)\nconst resolveUseMeasuredScale = (res: Taro.getSystemInfo.Result): boolean => {\n // H5/weapp 不参与大屏系数\n if (process.env.TARO_ENV === 'h5' || process.env.TARO_ENV === 'weapp') {\n return false\n }\n\n const designAppVersionRaw = (res as any).designAppVersion\n const designAppVersionMajor = designAppVersionRaw != null ? parseInt(String(designAppVersionRaw).trim(), 10) : Number.NaN\n if (!Number.isFinite(designAppVersionMajor) || designAppVersionMajor < MIN_DESIGN_APP_VERSION) {\n return false\n }\n\n const platform = String((res as any).platform || '').toLowerCase()\n if (platform === 'harmony' || platform === 'android' || platform === 'ios') {\n return true\n }\n\n return false\n}\n\n// 辅助函数:计算 lengthScaleRatio\nconst calculateLengthScaleRatio = (res: Taro.getSystemInfo.Result): number => {\n let lengthScaleRatio = (res as any)?.lengthScaleRatio\n if (lengthScaleRatio == null || lengthScaleRatio === 0) {\n console.warn('Taro.getSystemInfo: lengthScaleRatio 不存在,使用计算值')\n lengthScaleRatio = 1\n if (res.windowWidth < 320) {\n lengthScaleRatio = res.windowWidth / 320\n } else if (res.windowWidth >= 400 && res.windowWidth < 600) {\n lengthScaleRatio = res.windowWidth / 400\n }\n const shortSide = res.windowWidth < res.windowHeight ? res.windowWidth : res.windowHeight\n const isBigScreen = shortSide >= 600\n if (isBigScreen) {\n lengthScaleRatio = shortSide / 720\n }\n }\n return lengthScaleRatio\n}\n\n// 辅助函数:获取系统信息的 lengthScaleRatio 并设置 targetScrollTop\nconst setTargetScrollTopWithScale = (\n setTargetScrollTop: (value: number) => void,\n baseValue: number,\n randomOffset?: number,\n lengthScaleRatio: number = 1,\n) => {\n // H5 和 weapp 不参与放大计算,直接使用 baseValue\n if (process.env.TARO_ENV === 'h5' || process.env.TARO_ENV === 'weapp') {\n const finalValue = randomOffset !== undefined ? baseValue + randomOffset : baseValue\n setTargetScrollTop(finalValue)\n return\n }\n\n if (process.env.TARO_PLATFORM === 'harmony') {\n const scaledValue = baseValue\n const finalValue = randomOffset !== undefined ? scaledValue + randomOffset : scaledValue\n setTargetScrollTop(finalValue)\n } else {\n const scaledValue = baseValue * lengthScaleRatio\n const finalValue = randomOffset !== undefined ? scaledValue + randomOffset : scaledValue\n setTargetScrollTop(finalValue)\n }\n}\n\n// 根据 scrollTop 计算选中索引\n// 系统侧缩放模式:scrollHeight 已被系统缩放,直接相除即可\n// 自行缩放模式:需要除以 ratio 换算(harmony 特殊处理,ratio 已内嵌在 itemHeight 中)\nconst getSelectedIndex = (scrollTop: number, itemHeight: number, lengthScaleRatio: number = 1, useMeasuredScale: boolean = false): number => {\n if (!useMeasuredScale || process.env.TARO_PLATFORM === 'harmony') {\n return Math.round(scrollTop / itemHeight)\n }\n return Math.round(scrollTop / lengthScaleRatio / itemHeight)\n}\n\n// 计算单项高度(返回设计稿值)\nconst calculateItemHeight = (\n scrollView: TaroScrollView | null,\n lengthScaleRatio: number,\n useMeasuredScale: boolean = false,\n): number => {\n if (process.env.TARO_PLATFORM === 'harmony') {\n return useMeasuredScale ? PICKER_LINE_HEIGHT * lengthScaleRatio : PICKER_LINE_HEIGHT\n }\n if (scrollView && scrollView?.scrollHeight) {\n return useMeasuredScale\n ? scrollView.scrollHeight / lengthScaleRatio / scrollView.childNodes.length\n : scrollView.scrollHeight / scrollView.childNodes.length\n }\n console.warn('Height measurement anomaly')\n return PICKER_LINE_HEIGHT\n}\n\nexport function PickerGroupBasic(props: PickerGroupProps) {\n const {\n range = [],\n rangeKey,\n columnId,\n updateIndex,\n onColumnChange,\n selectedIndex = 0, // 使用selectedIndex参数,默认为0\n colors = {},\n } = props\n const indicatorStyle = colors.lineColor ? getIndicatorStyle(colors.lineColor) : null\n const [targetScrollTop, setTargetScrollTop] = React.useState(0)\n const scrollViewRef = React.useRef<TaroScrollView>(null)\n const itemRefs = React.useRef<Array<TaroView | null>>([])\n // 使用selectedIndex初始化当前索引\n const [currentIndex, setCurrentIndex] = React.useState(selectedIndex)\n // 触摸状态用于优化用户体验\n const [isTouching, setIsTouching] = React.useState(false)\n\n const lengthScaleRatioRef = React.useRef(1)\n const useMeasuredScaleRef = React.useRef(false)\n const itemHeightRef = React.useRef(PICKER_LINE_HEIGHT)\n\n // 初始化时计算 lengthScaleRatio 并判定缩放模式\n React.useEffect(() => {\n Taro.getSystemInfo({\n success: (res) => {\n lengthScaleRatioRef.current = calculateLengthScaleRatio(res)\n useMeasuredScaleRef.current = resolveUseMeasuredScale(res)\n itemHeightRef.current = calculateItemHeight(scrollViewRef.current, lengthScaleRatioRef.current, useMeasuredScaleRef.current)\n },\n fail: () => {\n lengthScaleRatioRef.current = 1\n useMeasuredScaleRef.current = false\n }\n })\n }, [])\n\n React.useEffect(() => {\n itemHeightRef.current = calculateItemHeight(scrollViewRef.current, lengthScaleRatioRef.current, useMeasuredScaleRef.current)\n }, [range.length]) // 只在range长度变化时重新计算\n\n // 当selectedIndex变化时,调整滚动位置\n React.useEffect(() => {\n if (scrollViewRef.current && range.length > 0 && !isTouching) {\n const baseValue = selectedIndex * itemHeightRef.current\n setTargetScrollTopWithScale(setTargetScrollTop, baseValue, undefined, lengthScaleRatioRef.current)\n setCurrentIndex(selectedIndex)\n }\n }, [selectedIndex, range])\n\n // 是否处于归中状态\n const isCenterTimerId = React.useRef<NodeJS.Timeout | null>(null)\n // 简化为直接在滚动结束时通知父组件\n const handleScrollEnd = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n // 做一个0.1s延时 0.1s之内没有新的滑动 则把选项归到中间 然后更新选中项\n isCenterTimerId.current = setTimeout(() => {\n if (!scrollViewRef.current) return\n\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop, itemHeightRef.current, lengthScaleRatioRef.current, useMeasuredScaleRef.current)\n\n setIsTouching(false)\n const baseValue = newIndex * itemHeightRef.current\n const randomOffset = Math.random() * 0.001 // 随机数为了在一个项内滚动时强制刷新\n setTargetScrollTopWithScale(setTargetScrollTop, baseValue, randomOffset, lengthScaleRatioRef.current)\n updateIndex(newIndex, columnId)\n onColumnChange?.({ columnId, index: newIndex })\n isCenterTimerId.current = null\n }, 100)\n }\n // 滚动处理 - 在滚动时计算索引然后更新选中项样式\n const handleScroll = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop, itemHeightRef.current, lengthScaleRatioRef.current, useMeasuredScaleRef.current)\n if (newIndex !== currentIndex) {\n setCurrentIndex(newIndex)\n }\n }\n\n // 渲染选项\n const pickerItem = range.map((item, index) => {\n const content = rangeKey && item && typeof item === 'object' ? item[rangeKey] : item\n\n return (\n <View\n id={`picker-item-${columnId}-${index}`}\n key={index}\n ref={(el) => (itemRefs.current[index] = el)}\n className={`taro-picker__item${index === currentIndex ? ' taro-picker__item--selected' : ''}`}\n style={{\n height: PICKER_LINE_HEIGHT,\n color: index === currentIndex\n ? (colors.itemSelectedColor || undefined)\n : (colors.itemDefaultColor || undefined)\n }}\n >\n {content}\n </View>\n )\n })\n\n const realPickerItems = [\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-top-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ...pickerItem,\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-bottom-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ]\n\n return (\n <View className=\"taro-picker__group\">\n <View className=\"taro-picker__mask\" />\n <View\n className=\"taro-picker__indicator\"\n {...(indicatorStyle ? { style: indicatorStyle } : {})}\n />\n <ScrollView\n ref={scrollViewRef}\n scrollY\n showScrollbar={false}\n className=\"taro-picker__content\"\n style={{\n height: PICKER_LINE_HEIGHT * PICKER_VISIBLE_ITEMS,\n }}\n scrollTop={targetScrollTop}\n onScroll={handleScroll}\n onTouchStart={() => setIsTouching(true)}\n onScrollEnd={handleScrollEnd}\n scrollWithAnimation\n >\n {realPickerItems}\n </ScrollView>\n </View>\n )\n}\n\n// 时间选择器实现\nexport function PickerGroupTime(props: PickerGroupProps) {\n const {\n range = [],\n rangeKey,\n columnId,\n updateIndex,\n selectedIndex = 0,\n colors = {},\n } = props\n\n const indicatorStyle = colors.lineColor ? getIndicatorStyle(colors.lineColor) : null\n const [targetScrollTop, setTargetScrollTop] = React.useState(0)\n const scrollViewRef = React.useRef<TaroScrollView>(null)\n const itemRefs = React.useRef<Array<TaroView | null>>([])\n const [currentIndex, setCurrentIndex] = React.useState(selectedIndex)\n const [isTouching, setIsTouching] = React.useState(false)\n\n const lengthScaleRatioRef = React.useRef(1)\n const useMeasuredScaleRef = React.useRef(false)\n const itemHeightRef = React.useRef(PICKER_LINE_HEIGHT)\n\n // 初始化时计算 lengthScaleRatio 并判定缩放模式\n React.useEffect(() => {\n Taro.getSystemInfo({\n success: (res) => {\n lengthScaleRatioRef.current = calculateLengthScaleRatio(res)\n useMeasuredScaleRef.current = resolveUseMeasuredScale(res)\n itemHeightRef.current = calculateItemHeight(scrollViewRef.current, lengthScaleRatioRef.current, useMeasuredScaleRef.current)\n },\n fail: () => {\n lengthScaleRatioRef.current = 1\n useMeasuredScaleRef.current = false\n }\n })\n }, [])\n\n React.useEffect(() => {\n itemHeightRef.current = calculateItemHeight(scrollViewRef.current, lengthScaleRatioRef.current, useMeasuredScaleRef.current)\n }, [range.length]) // 只在range长度变化时重新计算\n\n // 当selectedIndex变化时,调整滚动位置\n React.useEffect(() => {\n if (scrollViewRef.current && range.length > 0 && !isTouching) {\n const baseValue = selectedIndex * itemHeightRef.current\n setTargetScrollTopWithScale(setTargetScrollTop, baseValue, undefined, lengthScaleRatioRef.current)\n setCurrentIndex(selectedIndex)\n }\n }, [selectedIndex, range])\n\n // 是否处于归中状态\n const isCenterTimerId = React.useRef<NodeJS.Timeout | null>(null)\n\n // 简化为直接在滚动结束时通知父组件\n const handleScrollEnd = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n // 做一个0.1s延时 0.1s之内没有新的滑动 则把选项归到中间 然后更新选中项\n isCenterTimerId.current = setTimeout(() => {\n if (!scrollViewRef.current) return\n\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop, itemHeightRef.current, lengthScaleRatioRef.current, useMeasuredScaleRef.current)\n setIsTouching(false)\n // 调用updateIndex执行限位逻辑,获取是否触发了限位\n const isLimited = Boolean(updateIndex(newIndex, columnId, true))\n // 如果没有触发限位,才执行归中逻辑\n if (!isLimited) {\n const baseValue = newIndex * itemHeightRef.current\n const randomOffset = Math.random() * 0.001\n setTargetScrollTopWithScale(setTargetScrollTop, baseValue, randomOffset, lengthScaleRatioRef.current)\n }\n isCenterTimerId.current = null\n }, 100)\n }\n\n // 滚动处理\n const handleScroll = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop, itemHeightRef.current, lengthScaleRatioRef.current, useMeasuredScaleRef.current)\n if (newIndex !== currentIndex) {\n setCurrentIndex(newIndex)\n }\n }\n\n // 渲染选项\n const pickerItem = range.map((item, index) => {\n const content = rangeKey && item && typeof item === 'object' ? item[rangeKey] : item\n\n return (\n <View\n id={`picker-item-${columnId}-${index}`}\n key={index}\n ref={(el) => (itemRefs.current[index] = el)}\n className={`taro-picker__item${index === currentIndex ? ' taro-picker__item--selected' : ''}`}\n style={{\n height: PICKER_LINE_HEIGHT,\n color: index === currentIndex\n ? (colors.itemSelectedColor || undefined)\n : (colors.itemDefaultColor || undefined)\n }}\n >\n {content}\n </View>\n )\n })\n\n const realPickerItems = [\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-top-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ...pickerItem,\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-bottom-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ]\n\n return (\n <View className=\"taro-picker__group\">\n <View className=\"taro-picker__mask\" />\n <View\n className=\"taro-picker__indicator\"\n {...(indicatorStyle ? { style: indicatorStyle } : {})}\n />\n <ScrollView\n ref={scrollViewRef}\n scrollY\n showScrollbar={false}\n className=\"taro-picker__content\"\n style={{\n height: PICKER_LINE_HEIGHT * PICKER_VISIBLE_ITEMS,\n }}\n scrollTop={targetScrollTop}\n onScroll={handleScroll}\n onTouchStart={() => setIsTouching(true)}\n onScrollEnd={handleScrollEnd}\n scrollWithAnimation\n >\n {realPickerItems}\n </ScrollView>\n </View>\n )\n}\n\n// 日期选择器实现\nexport function PickerGroupDate(props: PickerGroupProps) {\n const {\n range = [],\n columnId,\n updateDay,\n selectedIndex = 0,\n colors = {},\n } = props\n\n const indicatorStyle = colors.lineColor ? getIndicatorStyle(colors.lineColor) : null\n const [targetScrollTop, setTargetScrollTop] = React.useState(0)\n const scrollViewRef = React.useRef<TaroScrollView>(null)\n const [currentIndex, setCurrentIndex] = React.useState(selectedIndex)\n const [isTouching, setIsTouching] = React.useState(false)\n\n const lengthScaleRatioRef = React.useRef(1)\n const useMeasuredScaleRef = React.useRef(false)\n const itemHeightRef = React.useRef(PICKER_LINE_HEIGHT)\n\n // 初始化时计算 lengthScaleRatio 并判定缩放模式\n React.useEffect(() => {\n Taro.getSystemInfo({\n success: (res) => {\n lengthScaleRatioRef.current = calculateLengthScaleRatio(res)\n useMeasuredScaleRef.current = resolveUseMeasuredScale(res)\n itemHeightRef.current = calculateItemHeight(scrollViewRef.current, lengthScaleRatioRef.current, useMeasuredScaleRef.current)\n },\n fail: () => {\n lengthScaleRatioRef.current = 1\n useMeasuredScaleRef.current = false\n }\n })\n }, [])\n\n React.useEffect(() => {\n itemHeightRef.current = calculateItemHeight(scrollViewRef.current, lengthScaleRatioRef.current, useMeasuredScaleRef.current)\n }, [range.length]) // 只在range长度变化时重新计算\n\n // 当selectedIndex变化时,调整滚动位置\n React.useEffect(() => {\n if (scrollViewRef.current && range.length > 0 && !isTouching) {\n const baseValue = selectedIndex * itemHeightRef.current\n setTargetScrollTopWithScale(setTargetScrollTop, baseValue, undefined, lengthScaleRatioRef.current)\n setCurrentIndex(selectedIndex)\n }\n }, [selectedIndex, range])\n\n // 是否处于归中状态\n const isCenterTimerId = React.useRef<NodeJS.Timeout | null>(null)\n\n // 简化为直接在滚动结束时通知父组件\n const handleScrollEnd = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n\n // 做一个0.1s延时 0.1s之内没有新的滑动 则把选项归到中间 然后更新选中项\n isCenterTimerId.current = setTimeout(() => {\n if (!scrollViewRef.current) return\n\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop, itemHeightRef.current, lengthScaleRatioRef.current, useMeasuredScaleRef.current)\n\n setIsTouching(false)\n const baseValue = newIndex * itemHeightRef.current\n const randomOffset = Math.random() * 0.001 // 随机数为了在一个项内滚动时强制刷新\n setTargetScrollTopWithScale(setTargetScrollTop, baseValue, randomOffset, lengthScaleRatioRef.current)\n\n // 更新日期值\n if (updateDay) {\n // 解析文本中的数字(移除年、月、日等后缀)\n const valueText = range[newIndex] || ''\n const numericValue = parseInt(valueText.replace(/[^0-9]/g, ''))\n updateDay(isNaN(numericValue) ? 0 : numericValue, parseInt(columnId))\n }\n isCenterTimerId.current = null\n }, 100)\n }\n\n // 滚动处理\n const handleScroll = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop, itemHeightRef.current, lengthScaleRatioRef.current, useMeasuredScaleRef.current)\n if (newIndex !== currentIndex) {\n setCurrentIndex(newIndex)\n }\n }\n\n // 渲染选项\n const pickerItem = range.map((item, index) => {\n return (\n <View\n id={`picker-item-${columnId}-${index}`}\n key={index}\n className={`taro-picker__item${index === currentIndex ? ' taro-picker__item--selected' : ''}`}\n style={{\n height: PICKER_LINE_HEIGHT,\n color: index === currentIndex\n ? (colors.itemSelectedColor || undefined)\n : (colors.itemDefaultColor || undefined)\n }}\n >\n {item}\n </View>\n )\n })\n\n const realPickerItems = [\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-top-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ...pickerItem,\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-bottom-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ]\n\n return (\n <View className=\"taro-picker__group\">\n <View className=\"taro-picker__mask\" />\n <View\n className=\"taro-picker__indicator\"\n {...(indicatorStyle ? { style: indicatorStyle } : {})}\n />\n <ScrollView\n ref={scrollViewRef}\n scrollY\n showScrollbar={false}\n className=\"taro-picker__content\"\n style={{ height: PICKER_LINE_HEIGHT * PICKER_VISIBLE_ITEMS }}\n scrollTop={targetScrollTop}\n onScroll={handleScroll}\n onTouchStart={() => setIsTouching(true)}\n onScrollEnd={handleScrollEnd}\n scrollWithAnimation\n >\n {realPickerItems}\n </ScrollView>\n </View>\n )\n}\n\n// 地区选择器实现\nexport function PickerGroupRegion(props: PickerGroupProps) {\n const {\n range = [],\n rangeKey,\n columnId,\n updateIndex,\n selectedIndex = 0, // 使用selectedIndex参数,默认为0\n colors = {},\n } = props\n\n const indicatorStyle = colors.lineColor ? getIndicatorStyle(colors.lineColor) : null\n const scrollViewRef = React.useRef<any>(null)\n const [targetScrollTop, setTargetScrollTop] = React.useState(0)\n const [currentIndex, setCurrentIndex] = React.useState(selectedIndex)\n const [isTouching, setIsTouching] = React.useState(false)\n\n const lengthScaleRatioRef = React.useRef(1)\n const useMeasuredScaleRef = React.useRef(false)\n const itemHeightRef = React.useRef(PICKER_LINE_HEIGHT)\n const isUserBeginScrollRef = React.useRef(false)\n\n // 初始化时计算 lengthScaleRatio 并判定缩放模式\n React.useEffect(() => {\n Taro.getSystemInfo({\n success: (res) => {\n lengthScaleRatioRef.current = calculateLengthScaleRatio(res)\n useMeasuredScaleRef.current = resolveUseMeasuredScale(res)\n itemHeightRef.current = calculateItemHeight(scrollViewRef.current, lengthScaleRatioRef.current, useMeasuredScaleRef.current)\n },\n fail: () => {\n lengthScaleRatioRef.current = 1\n useMeasuredScaleRef.current = false\n }\n })\n }, [])\n\n React.useEffect(() => {\n itemHeightRef.current = calculateItemHeight(scrollViewRef.current, lengthScaleRatioRef.current, useMeasuredScaleRef.current)\n }, [range.length]) // 只在range长度变化时重新计算\n\n // 当selectedIndex变化时,调整滚动位置\n React.useEffect(() => {\n if (scrollViewRef.current && range.length > 0 && !isTouching) {\n const baseValue = selectedIndex * itemHeightRef.current\n setTargetScrollTopWithScale(setTargetScrollTop, baseValue, undefined, lengthScaleRatioRef.current)\n setCurrentIndex(selectedIndex)\n }\n }, [selectedIndex, range])\n\n // 滚动结束处理\n const isCenterTimerId = React.useRef<NodeJS.Timeout | null>(null)\n const handleScrollEnd = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n // 做一个0.1s延时 0.1s之内没有新的滑动 则把选项归到中间 然后更新选中项\n isCenterTimerId.current = setTimeout(() => {\n if (!scrollViewRef.current) return\n\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop, itemHeightRef.current, lengthScaleRatioRef.current, useMeasuredScaleRef.current)\n\n setIsTouching(false)\n const baseValue = newIndex * itemHeightRef.current\n const randomOffset = Math.random() * 0.001 // 随机数为了在一个项内滚动时强制刷新\n setTargetScrollTopWithScale(setTargetScrollTop, baseValue, randomOffset, lengthScaleRatioRef.current)\n updateIndex(newIndex, columnId, false, isUserBeginScrollRef.current)\n }, 100)\n }\n\n // 滚动处理 - 在滚动时计算索引\n const handleScroll = () => {\n if (!scrollViewRef.current) return\n if (isCenterTimerId.current) {\n clearTimeout(isCenterTimerId.current)\n isCenterTimerId.current = null\n }\n const scrollTop = scrollViewRef.current.scrollTop\n const newIndex = getSelectedIndex(scrollTop, itemHeightRef.current, lengthScaleRatioRef.current, useMeasuredScaleRef.current)\n if (newIndex !== currentIndex) {\n setCurrentIndex(newIndex)\n }\n }\n\n // 渲染选项\n const pickerItem = range.map((item, index) => {\n const content = rangeKey && item && typeof item === 'object' ? item[rangeKey] : item\n\n return (\n <View\n id={`picker-item-${columnId}-${index}`}\n key={index}\n className={`taro-picker__item${index === currentIndex ? ' taro-picker__item--selected' : ''}`}\n style={{\n height: PICKER_LINE_HEIGHT,\n color: index === currentIndex\n ? (colors.itemSelectedColor || undefined)\n : (colors.itemDefaultColor || undefined)\n }}\n >\n {content}\n </View>\n )\n })\n\n const realPickerItems = [\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-top-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ...pickerItem,\n ...new Array(PICKER_BLANK_ITEMS)\n .fill(null)\n .map((_, idx) => (\n <View\n key={`blank-bottom-${idx}`}\n className=\"taro-picker__item taro-picker__item--blank\"\n style={{ height: PICKER_LINE_HEIGHT }}\n />\n )),\n ]\n return (\n <View className=\"taro-picker__group\">\n <View className=\"taro-picker__mask\" />\n <View\n className=\"taro-picker__indicator\"\n {...(indicatorStyle ? { style: indicatorStyle } : {})}\n />\n <ScrollView\n ref={scrollViewRef}\n scrollY\n showScrollbar={false}\n className=\"taro-picker__content\"\n style={{ height: PICKER_LINE_HEIGHT * PICKER_VISIBLE_ITEMS }}\n scrollTop={targetScrollTop}\n onScroll={handleScroll}\n onTouchStart={() => {\n setIsTouching(true)\n isUserBeginScrollRef.current = true\n }}\n onScrollEnd={handleScrollEnd}\n scrollWithAnimation\n >\n {realPickerItems}\n </ScrollView>\n </View>\n )\n}\n\n// 默认导出,根据 mode 自动分发\nexport function PickerGroup(props: PickerGroupProps) {\n switch (props.mode) {\n case 'time':\n return <PickerGroupTime {...props} />\n case 'date':\n return <PickerGroupDate {...props} />\n case 'region':\n return <PickerGroupRegion {...props} />\n default:\n return <PickerGroupBasic {...props} />\n }\n}\n"],"names":["PICKER_LINE_HEIGHT","PICKER_VISIBLE_ITEMS","PICKER_BLANK_ITEMS","getIndicatorStyle","lineColor","borderTopColor","borderBottomColor","MIN_DESIGN_APP_VERSION","resolveUseMeasuredScale","res","process","env","TARO_ENV","designAppVersionRaw","designAppVersion","designAppVersionMajor","parseInt","String","trim","Number","NaN","isFinite","platform","toLowerCase","calculateLengthScaleRatio","lengthScaleRatio","console","warn","windowWidth","shortSide","windowHeight","isBigScreen","setTargetScrollTopWithScale","setTargetScrollTop","baseValue","randomOffset","arguments","length","undefined","finalValue","TARO_PLATFORM","scaledValue","getSelectedIndex","scrollTop","itemHeight","useMeasuredScale","Math","round","calculateItemHeight","scrollView","scrollHeight","childNodes","PickerGroupBasic","props","range","rangeKey","columnId","updateIndex","onColumnChange","selectedIndex","colors","indicatorStyle","targetScrollTop","React","useState","scrollViewRef","useRef","itemRefs","currentIndex","setCurrentIndex","isTouching","setIsTouching","lengthScaleRatioRef","useMeasuredScaleRef","itemHeightRef","useEffect","Taro","getSystemInfo","success","current","fail","isCenterTimerId","handleScrollEnd","clearTimeout","setTimeout","newIndex","random","index","handleScroll","pickerItem","map","item","content","_jsx","View","id","ref","el","className","style","height","color","itemSelectedColor","itemDefaultColor","children","realPickerItems","Array","fill","_","idx","_jsxs","ScrollView","scrollY","showScrollbar","onScroll","onTouchStart","onScrollEnd","scrollWithAnimation","PickerGroupTime","isLimited","Boolean","PickerGroupDate","updateDay","valueText","numericValue","replace","isNaN","PickerGroupRegion","isUserBeginScrollRef","PickerGroup","mode"],"mappings":"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"}
|
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
/* Imported from ./variable */
|
|
2
|
+
// Light 模式颜色变量
|
|
2
3
|
$weuiLineColorLight: #e5e5e5;
|
|
3
4
|
$weuiColorPrimary: #FF0F23;
|
|
4
5
|
$weuiTextColorGray: #999;
|
|
5
6
|
$weuiTextColorDesc: #888;
|
|
6
7
|
$weuiTextColorBlack: #000;
|
|
8
|
+
$weuiBackgroundColorLight: #fff;
|
|
9
|
+
$weuiMaskColorLight: rgba(0, 0, 0, 0.6);
|
|
10
|
+
|
|
11
|
+
// Dark 模式颜色变量
|
|
12
|
+
$weuiLineColorDark: rgba(255, 255, 255, 0.06);
|
|
13
|
+
$weuiColorPrimaryDark: #ff0f23;
|
|
14
|
+
$weuiTextColorGrayDark: #999999;
|
|
15
|
+
$weuiTextColorDescDark: #818181;
|
|
16
|
+
$weuiTextColorBlackDark: #e6e6e6;
|
|
17
|
+
$weuiBackgroundColorDark: #1f1f1f;
|
|
18
|
+
$weuiMaskColorDark: rgba(20, 20, 20, 0.7);
|
|
7
19
|
|
|
8
20
|
// Picker 相关变量
|
|
9
21
|
$weuiPickerZIndexContainer: 1000; // picker容器层级
|
|
@@ -19,6 +31,7 @@ $weuiPickerColumnGap: 8px; // 列间距
|
|
|
19
31
|
// 动画
|
|
20
32
|
$weuiPickerTransitionDuration: 0.3s; // 过渡动画时长
|
|
21
33
|
|
|
34
|
+
|
|
22
35
|
// 覆盖层遮罩(用于全屏遮罩)
|
|
23
36
|
.taro-picker__overlay {
|
|
24
37
|
position: fixed;
|
|
@@ -41,7 +54,6 @@ $weuiPickerTransitionDuration: 0.3s; // 过渡动画时长
|
|
|
41
54
|
width: 100%;
|
|
42
55
|
height: 100%;
|
|
43
56
|
z-index: $weuiPickerZIndexMask;
|
|
44
|
-
background-color: rgba(0, 0, 0, 0.6);
|
|
45
57
|
}
|
|
46
58
|
|
|
47
59
|
.taro-picker {
|
|
@@ -49,7 +61,6 @@ $weuiPickerTransitionDuration: 0.3s; // 过渡动画时长
|
|
|
49
61
|
bottom: 0;
|
|
50
62
|
left: 0;
|
|
51
63
|
z-index: $weuiPickerZIndexIndicator;
|
|
52
|
-
background-color: $weuiLineColorLight;
|
|
53
64
|
width: 100%;
|
|
54
65
|
font-size: 14px;
|
|
55
66
|
}
|
|
@@ -60,10 +71,9 @@ $weuiPickerTransitionDuration: 0.3s; // 过渡动画时长
|
|
|
60
71
|
justify-content: space-between;
|
|
61
72
|
height: $weuiPickerHeaderHeight;
|
|
62
73
|
padding: 0;
|
|
63
|
-
background-color: #fff;
|
|
64
74
|
font-size: 17px;
|
|
65
75
|
position: relative;
|
|
66
|
-
|
|
76
|
+
|
|
67
77
|
&::after {
|
|
68
78
|
content: '';
|
|
69
79
|
position: absolute;
|
|
@@ -71,7 +81,6 @@ $weuiPickerTransitionDuration: 0.3s; // 过渡动画时长
|
|
|
71
81
|
bottom: 0;
|
|
72
82
|
width: 100%;
|
|
73
83
|
height: 1px;
|
|
74
|
-
background-color: $weuiLineColorLight;
|
|
75
84
|
transform: scaleY(0.5);
|
|
76
85
|
}
|
|
77
86
|
}
|
|
@@ -81,14 +90,8 @@ $weuiPickerTransitionDuration: 0.3s; // 过渡动画时长
|
|
|
81
90
|
padding: 0 10px;
|
|
82
91
|
height: $weuiPickerHeaderHeight;
|
|
83
92
|
line-height: $weuiPickerHeaderHeight;
|
|
84
|
-
color: $weuiColorPrimary;
|
|
85
93
|
font-size: 14px;
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
// 左侧取消按钮
|
|
89
|
-
&:first-child {
|
|
90
|
-
color: $weuiTextColorDesc;
|
|
91
|
-
}
|
|
94
|
+
|
|
92
95
|
}
|
|
93
96
|
|
|
94
97
|
.taro-picker__title {
|
|
@@ -102,7 +105,6 @@ $weuiPickerTransitionDuration: 0.3s; // 过渡动画时长
|
|
|
102
105
|
text-overflow: ellipsis;
|
|
103
106
|
font-weight: 500;
|
|
104
107
|
font-size: 16px;
|
|
105
|
-
color: $weuiTextColorBlack;
|
|
106
108
|
}
|
|
107
109
|
|
|
108
110
|
.taro-picker__bd {
|
|
@@ -112,7 +114,132 @@ $weuiPickerTransitionDuration: 0.3s; // 过渡动画时长
|
|
|
112
114
|
height: $weuiPickerContentHeight;
|
|
113
115
|
box-sizing: border-box;
|
|
114
116
|
overflow: hidden;
|
|
115
|
-
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// Light 主题样式(默认)
|
|
120
|
+
.taro-picker-theme-light {
|
|
121
|
+
background-color: $weuiLineColorLight;
|
|
122
|
+
|
|
123
|
+
.taro-picker__mask-overlay {
|
|
124
|
+
background-color: $weuiMaskColorLight;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.taro-picker__hd {
|
|
128
|
+
background-color: $weuiBackgroundColorLight;
|
|
129
|
+
|
|
130
|
+
&::after {
|
|
131
|
+
background-color: $weuiLineColorLight;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.taro-picker__action {
|
|
136
|
+
color: $weuiColorPrimary;
|
|
137
|
+
|
|
138
|
+
&:first-child {
|
|
139
|
+
color: $weuiTextColorDesc;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.taro-picker__title {
|
|
144
|
+
color: $weuiTextColorBlack;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.taro-picker__bd {
|
|
148
|
+
background-color: $weuiBackgroundColorLight;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.taro-picker__indicator {
|
|
152
|
+
border-top: 1px solid $weuiLineColorLight;
|
|
153
|
+
border-bottom: 1px solid $weuiLineColorLight;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.taro-picker__mask {
|
|
157
|
+
background:
|
|
158
|
+
linear-gradient(
|
|
159
|
+
180deg,
|
|
160
|
+
rgba(255, 255, 255, 0.95) 0%,
|
|
161
|
+
rgba(255, 255, 255, 0.6) 40%,
|
|
162
|
+
rgba(255, 255, 255, 0) 45%,
|
|
163
|
+
rgba(255, 255, 255, 0) 55%,
|
|
164
|
+
rgba(255, 255, 255, 0.6) 60%,
|
|
165
|
+
rgba(255, 255, 255, 0.95) 100%
|
|
166
|
+
);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.taro-picker__item {
|
|
170
|
+
color: $weuiTextColorBlack;
|
|
171
|
+
|
|
172
|
+
&--selected {
|
|
173
|
+
color: $weuiColorPrimary;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
&--disabled {
|
|
177
|
+
color: $weuiTextColorGray;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
// Dark 主题样式
|
|
183
|
+
.taro-picker-theme-dark {
|
|
184
|
+
background-color: $weuiLineColorDark;
|
|
185
|
+
|
|
186
|
+
.taro-picker__mask-overlay {
|
|
187
|
+
background-color: $weuiMaskColorDark;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.taro-picker__hd {
|
|
191
|
+
background-color: $weuiBackgroundColorDark;
|
|
192
|
+
|
|
193
|
+
&::after {
|
|
194
|
+
background-color: $weuiLineColorDark;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.taro-picker__action {
|
|
199
|
+
color: $weuiColorPrimaryDark;
|
|
200
|
+
|
|
201
|
+
&:first-child {
|
|
202
|
+
color: $weuiTextColorDescDark;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.taro-picker__title {
|
|
207
|
+
color: $weuiTextColorBlackDark;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
.taro-picker__bd {
|
|
211
|
+
background-color: $weuiBackgroundColorDark;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
.taro-picker__indicator {
|
|
215
|
+
border-top: 1px solid $weuiLineColorDark;
|
|
216
|
+
border-bottom: 1px solid $weuiLineColorDark;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.taro-picker__mask {
|
|
220
|
+
background:
|
|
221
|
+
linear-gradient(
|
|
222
|
+
180deg,
|
|
223
|
+
rgba(31, 31, 31, 0.95) 0%,
|
|
224
|
+
rgba(31, 31, 31, 0.6) 40%,
|
|
225
|
+
rgba(31, 31, 31, 0) 45%,
|
|
226
|
+
rgba(31, 31, 31, 0) 55%,
|
|
227
|
+
rgba(31, 31, 31, 0.6) 60%,
|
|
228
|
+
rgba(31, 31, 31, 0.95) 100%
|
|
229
|
+
);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
.taro-picker__item {
|
|
233
|
+
color: $weuiTextColorBlackDark;
|
|
234
|
+
|
|
235
|
+
&--selected {
|
|
236
|
+
color: $weuiColorPrimaryDark;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
&--disabled {
|
|
240
|
+
color: $weuiTextColorGrayDark;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
116
243
|
}
|
|
117
244
|
|
|
118
245
|
// 选择器组
|
|
@@ -122,10 +249,10 @@ $weuiPickerTransitionDuration: 0.3s; // 过渡动画时长
|
|
|
122
249
|
height: 100%;
|
|
123
250
|
box-sizing: border-box;
|
|
124
251
|
justify-content: center; /* 水平居中 */
|
|
125
|
-
align-items: center;
|
|
252
|
+
align-items: center;
|
|
126
253
|
flex: 1; /* 确保在多列情况下平均分配空间 */
|
|
127
254
|
min-width: 0;
|
|
128
|
-
|
|
255
|
+
|
|
129
256
|
// 多列布局
|
|
130
257
|
&--date {
|
|
131
258
|
.taro-picker__columns {
|
|
@@ -144,16 +271,6 @@ $weuiPickerTransitionDuration: 0.3s; // 过渡动画时长
|
|
|
144
271
|
z-index: 1;
|
|
145
272
|
width: 100%;
|
|
146
273
|
height: 100%;
|
|
147
|
-
background:
|
|
148
|
-
linear-gradient(
|
|
149
|
-
180deg,
|
|
150
|
-
rgba(255, 255, 255, 0.95) 0%,
|
|
151
|
-
rgba(255, 255, 255, 0.6) 40%,
|
|
152
|
-
rgba(255, 255, 255, 0) 45%,
|
|
153
|
-
rgba(255, 255, 255, 0) 55%,
|
|
154
|
-
rgba(255, 255, 255, 0.6) 60%,
|
|
155
|
-
rgba(255, 255, 255, 0.95) 100%
|
|
156
|
-
);
|
|
157
274
|
pointer-events: none;
|
|
158
275
|
}
|
|
159
276
|
|
|
@@ -167,20 +284,6 @@ $weuiPickerTransitionDuration: 0.3s; // 过渡动画时长
|
|
|
167
284
|
height: $weuiPickerItemHeight;
|
|
168
285
|
box-sizing: border-box;
|
|
169
286
|
transform: translateY(-50%);
|
|
170
|
-
|
|
171
|
-
// 上下边框
|
|
172
|
-
&::before, &::after {
|
|
173
|
-
content: '';
|
|
174
|
-
position: absolute;
|
|
175
|
-
left: 0;
|
|
176
|
-
right: 0;
|
|
177
|
-
height: 1px;
|
|
178
|
-
background-color: $weuiLineColorLight;
|
|
179
|
-
transform: scaleY(0.5);
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
&::before { top: 0; }
|
|
183
|
-
&::after { bottom: 0; }
|
|
184
287
|
}
|
|
185
288
|
|
|
186
289
|
// 滚动内容区域
|
|
@@ -205,17 +308,14 @@ $weuiPickerTransitionDuration: 0.3s; // 过渡动画时长
|
|
|
205
308
|
white-space: nowrap;
|
|
206
309
|
text-overflow: ellipsis;
|
|
207
310
|
font-size: 16px; /* 稍微减小字体大小 */
|
|
208
|
-
|
|
209
|
-
|
|
311
|
+
|
|
210
312
|
// 选中状态
|
|
211
313
|
&--selected {
|
|
212
314
|
font-weight: 500; /* 使用适中的字体粗细 */
|
|
213
|
-
color: $weuiColorPrimary;
|
|
214
315
|
}
|
|
215
|
-
|
|
316
|
+
|
|
216
317
|
// 禁用状态
|
|
217
318
|
&--disabled {
|
|
218
|
-
color: $weuiTextColorGray;
|
|
219
319
|
}
|
|
220
320
|
}
|
|
221
321
|
|
|
@@ -223,7 +323,7 @@ $weuiPickerTransitionDuration: 0.3s; // 过渡动画时长
|
|
|
223
323
|
.taro-picker__column {
|
|
224
324
|
flex: 1;
|
|
225
325
|
margin: 0 $weuiPickerColumnGap;
|
|
226
|
-
|
|
326
|
+
|
|
227
327
|
// 第一列和最后一列的间距调整
|
|
228
328
|
&:first-child { margin-left: 0; }
|
|
229
329
|
&:last-child { margin-right: 0; }
|