yew_scroll

Struct ScrollToTop

Source
pub struct ScrollToTop { /* private fields */ }
Expand description

scroll_to_top A Yew component that provides a button to scroll to the top of the page when clicked.

§Arguments

  • props - The properties of the component.
    • css - Custom CSS classes for styling the scroll-to-top button. Defaults to predefined Tailwind classes.
    • top_offset - The vertical offset value (Y position) to show the button. Defaults to 500.0 pixels.
    • svg_content - Custom SVG content for the scroll-to-top button. Defaults to a default arrow SVG.

§Returns

(Html): An HTML representation of the scroll-to-top button.

§Examples

// Example of using the scroll_to_top component
use yew::prelude::*;
use yew_scroll::{ScrollToTop, ScrollToTopProps};

// Custom SVG content for the scroll-to-top button (an arrow).
fn custom_svg() -> Html {
    html! {
        <svg
            class="w-6 h-6"
            fill="none"
            stroke="currentColor"
            viewBox="0 0 24 24"
            xmlns="http://www.w3.org/2000/svg"
        >
            <path
                stroke-linecap="round"
                stroke-linejoin="round"
                stroke-width="2"
                d="M5 10l7-7m0 0l7 7m-7-7v18"
            />
        </svg>
    }
}

#[function_component(MyComponent)]
pub fn my_component() -> Html {
    // Set props for the scroll_to_top component
    let scroll_to_top_props = ScrollToTopProps {
        css: "custom-css",         // Add any custom CSS classes
        top_offset: 0.0,           // Set the desired top offset value to show the button
        svg_content: custom_svg(), // Provide custom SVG content
    };

    // Render the scroll_to_top component with the specified props
    html! {
        <>
            // Other content in your component
            <p>{"Scroll down to see the button"}</p>

            // Use the scroll_to_top component
            <ScrollToTop ..scroll_to_top_props />

            // Default Usage
            <ScrollToTop />
        </>
    }
}

Trait Implementations§

Source§

impl BaseComponent for ScrollToTop
where Self: 'static,

Source§

type Message = ()

The Component’s Message.
Source§

type Properties = ScrollToTopProps

The Component’s Properties.
Source§

fn create(ctx: &Context<Self>) -> Self

Creates a component.
Source§

fn update(&mut self, _ctx: &Context<Self>, _msg: Self::Message) -> bool

Updates component’s internal state.
Source§

fn changed( &mut self, _ctx: &Context<Self>, _old_props: &Self::Properties, ) -> bool

React to changes of component properties.
Source§

fn view(&self, ctx: &Context<Self>) -> HtmlResult

Returns a component layout to be rendered.
Source§

fn rendered(&mut self, _ctx: &Context<Self>, _first_render: bool)

Notified after a layout is rendered.
Source§

fn destroy(&mut self, _ctx: &Context<Self>)

Notified before a component is destroyed.
Source§

fn prepare_state(&self) -> Option<String>

Prepares the server-side state.
Source§

impl Debug for ScrollToTop

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FunctionProvider for ScrollToTop

Source§

type Properties = ScrollToTopProps

Properties for the Function Component.
Source§

fn run(ctx: &mut HookContext, props: &Self::Properties) -> HtmlResult

Render the component. This function returns the Html to be rendered for the component. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoPropValue<Option<T>> for T

Source§

fn into_prop_value(self) -> Option<T>

Convert self to a value of a Properties struct.
Source§

impl<T> IntoPropValue<T> for T

Source§

fn into_prop_value(self) -> T

Convert self to a value of a Properties struct.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<Token, Builder, How> AllPropsFor<Builder, How> for Token
where Builder: Buildable<Token>, <Builder as Buildable<Token>>::WrappedToken: HasAllProps<<Builder as Buildable<Token>>::Output, How>,

Source§

impl<T> HasAllProps<(), T> for T