javascript - ionic react ,滚动到特定列表项

标签 javascript reactjs typescript ionic-framework

Ionic Scroll To Specific List Item是关于 Ionic + Angular 的。答案特定于 AngularJS。

我想问同样的问题,但具体针对 Ionic + React:

布局如下:

<IonContent>
  <IonList>
    <IonItem key={1}>1</IonItem>
    <IonItem key={2}>2</IonItem>
    <IonItem key={3}>3</IonItem>
    <IonItem key={4}>4</IonItem>
    <IonItem key={5}>5</IonItem>
  </IonList>
</IonContent>

如何滚动到特定列表项?

最佳答案

const App = () => {
  const [text, setText] = useState("");

  const gotoButton = () => {
    let y = document.getElementById("row-" + text).offsetTop;
    console.log(y);
    let content = document.querySelector("ion-content");
    content.scrollToPoint(0, y);
  };

  return (
    <IonApp>
      <IonHeader>
        <IonToolbar>
          <IonButton onClick={() => gotoButton()}>GOTO ROW</IonButton>
          <IonInput
            value={text}
            placeholder="Enter Row Number"
            onIonChange={e => setText(e.detail.value)}
          />
        </IonToolbar>
      </IonHeader>
      <IonContent
        className="ion-padding"
        scrollEvents={true}
        onIonScrollStart={_e => {
          console.log(_e);
        }}
        onIonScroll={() => {}}
        onIonScrollEnd={() => {}}
      >
        {/* <!-- LIST --> */}
        <IonList>
          {Array(200)
            .fill()
            .map((v, index) => {
              return (
                <IonItem id={"row-" + index} key={index}>
                  {index + ""}
                </IonItem>
              );
            })}
        </IonList>
        <button id="btn" />
      </IonContent>
    </IonApp>
  );
};

export default App;

关于javascript - ionic react ,滚动到特定列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61208133/

相关文章:

javascript - 禁用加载动画砌体无限滚动

javascript - React TS 中的 Google Analytics 4 集成

javascript - 接下来的 JS 构建仅生成服务器端页面

reactjs - Material UI 使用 typescript 在调色板的主要对象上定义一个新属性

Javascript RegEx恰好一个数字模式

javascript - 怎么画同心圆嵌套图?使用 HTML 和 CSS

javascript - Three.js r91 - 如何使用新的线宽属性来加宽/加宽线条?

javascript - 使用渲染 <Button/> 预填充 <Create> 记录会导致应用程序崩溃(react-admin)

javascript - 如何在 TypeScript React 中向 onChange 和 onClick 函数添加类型

TypeScript:如何设置解构对象的类型?