From 5aabd8a2b775841b81a9bfc328a05352b4020573 Mon Sep 17 00:00:00 2001 From: oasis-cloud Date: Thu, 5 Dec 2024 17:45:04 +0800 Subject: [PATCH] =?UTF-8?q?feat(elevator):=20=E9=87=87=E7=94=A8=E5=94=AF?= =?UTF-8?q?=E4=B8=80ID=EF=BC=8C=E9=81=BF=E5=85=8D=E6=9C=AA=E4=BC=A0?= =?UTF-8?q?=E5=85=A5=20className=20=E5=AF=BC=E8=87=B4=E7=9A=84=E6=8A=A5?= =?UTF-8?q?=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/packages/elevator/elevator.taro.tsx | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/packages/elevator/elevator.taro.tsx b/src/packages/elevator/elevator.taro.tsx index ab9db66d27..9b131f6e8a 100644 --- a/src/packages/elevator/elevator.taro.tsx +++ b/src/packages/elevator/elevator.taro.tsx @@ -1,15 +1,16 @@ import React, { + createContext, FunctionComponent, - useRef, useEffect, + useRef, useState, - createContext, } from 'react' -import Taro, { nextTick, createSelectorQuery } from '@tarojs/taro' +import Taro, { createSelectorQuery, nextTick } from '@tarojs/taro' import { ScrollView } from '@tarojs/components' import classNames from 'classnames' import { BasicComponent, ComponentDefaults } from '@/utils/typings' +import useUuid from '@/utils/use-uuid' export const elevatorContext = createContext({} as ElevatorData) @@ -65,6 +66,7 @@ export const Elevator: FunctionComponent< ...defaultProps, ...props, } + const uuid = useUuid() const classPrefix = 'nut-elevator' const listview = useRef(null) const initData = { @@ -106,7 +108,7 @@ export const Elevator: FunctionComponent< for (let i = 0; i < state.current.listGroup.length; i++) { const query = createSelectorQuery() query - .selectAll(`.${className} .nut-elevator-item-${i}`) + .selectAll(`.${classPrefix}-${uuid} .nut-elevator-item-${i}`) .boundingClientRect() // eslint-disable-next-line no-loop-func query.exec((res: any) => { @@ -180,7 +182,7 @@ export const Elevator: FunctionComponent< const setListGroup = () => { if (listview.current) { createSelectorQuery() - .selectAll(`.${className} .nut-elevator-list-item`) + .selectAll(`.${classPrefix}-${uuid} .nut-elevator-list-item`) .node((el) => { state.current.listGroup = [...Object.keys(el)] calculateHeight() @@ -220,7 +222,11 @@ export const Elevator: FunctionComponent< }, [listview]) return ( -
+