masastack / MASA.Blazor

Blazor UI component library based on Material Design. Support Blazor Server, Blazor WebAssembly and MAUI Blazor.
https://docs.masastack.com/blazor/getting-started/installation
Other
1.17k stars 159 forks source link

Carousels‘ content turn to blank if leave few Minutes then back to Carousels。 #1891

Closed huxinshuo closed 4 months ago

huxinshuo commented 4 months ago

如果离开几分钟 再回到包含Carousels的视图,Carousels的内容会变白色,过1分钟左右才重新展现出来。 微信截图_20240506184603

capdiem commented 4 months ago

@huxinshuo Server吗?

huxinshuo commented 4 months ago

wpf+masa

capdiem commented 4 months ago

@huxinshuo 你使用的图片是本地图片还是远程地址图片?如果是远程地址且可能来自外网,感觉是一分钟请求完成图片是可能的~

huxinshuo commented 4 months ago

远程图片,刚生成的时候很快 是在taps里面切换的。 一开始是立刻生成的, 然后切换到其他tabs item一会,再切换回来就会延迟加载

capdiem commented 4 months ago

@huxinshuo tabitems的元素包括图片一旦加载就会缓存在dom,切换回去理论上不会出现重新加载的情况。提供下可复现的代码吧。

huxinshuo commented 4 months ago

@capdiem

@code
{
    private string[] items = new[]
    {
      "https://cdn.masastack.com/stack/images/website/masa-blazor/carousel/bird.jpg",
      "https://cdn.masastack.com/stack/images/website/masa-blazor/carousel/planet.jpg",
    };
}
<MCard Class="mx-auto" MaxWidth=1450 Style="margin:20px 0px; ">

<MContainer Fluid Style="margin-left:5px">

                    <MCard  Tile=false Style="margin-left:5px">
                <MCarousel Height="350" Cycle>
                    @foreach (var item in items)
                    {
                        <MCarouselItem Src="@item"
                                       ReverseTransition="fade-transition"
                                       Transition="fade-transition">
                        </MCarouselItem>
                    }
                </MCarousel>
            </MCard>

</MContainer>

</MCard>

放在2个razor里面 切换试试

capdiem commented 4 months ago

@huxinshuo 此代码我已经在WPF中试过了 没有复现

huxinshuo commented 4 months ago

@capdiem 好的 我再试试。