Dans cet article, nous aborderons un problème courant où la barre de défilement d'un widget de discussion reste fixe en haut lorsque de nouveaux messages charger. Notre objectif est de concentrer la barre de défilement sur le dernier élément de message du tableau précédent.
Pour résoudre ce problème, nous devons :
React 16.8, composant fonctionnel :
const ScrollDemo = () => { const myRef = useRef(null); const executeScroll = () => myRef.current.scrollIntoView(); // Scroll to the element return ( <> <div ref={myRef}>Element to scroll to</div> <button onClick={executeScroll}>Click to scroll </button> </> ); };
React 16.3, composant de classe :
class ReadyToScroll extends Component { constructor(props) { super(props); this.myRef = React.createRef(); } render() { return <div ref={this.myRef}>Element to scroll to</div>; } executeScroll = () => this.myRef.current.scrollIntoView(); // Scroll to the element }
Composant de classe - Rappel de référence :
class ReadyToScroll extends Component { render() { return <div ref={(ref) => (this.myRef = ref)}>Element to scroll to</div>; } executeScroll = () => this.myRef.scrollIntoView(); // Scroll to the element }
Remarques importantes :
html { scroll-behavior: smooth; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!