我有一个 MGT GET 组件,如下所示
<Get dataChange={datachange} cacheEnabled ={true} cacheInvalidationPeriod={30000} version="beta" resource={"teams/{teamID}/channels/{ChannelID}/messages/{MessageID}/replies?$top=100"}>
<LastMessageItem id="math" template="value" />
<LoadingTemplate template="loading" />
</Get>
export const LastMessageItem = (props: any) => {
return <div>
{props.dataContext.body.content}
</div>
}
export function LoadingTemplate(props: MgtTemplateProps) {
return (<div><Shimmer shimmerElements={shimmerWithElementThirdRow} />
<Shimmer shimmerElements={shimmerWithElementThirdRow} />
<Shimmer shimmerElements={shimmerWithElementThirdRow} />
<Shimmer shimmerElements={shimmerWithElementThirdRow} />
<Shimmer shimmerElements={shimmerWithElementThirdRow} />
<Shimmer shimmerElements={shimmerWithElementThirdRow} />
<Shimmer shimmerElements={shimmerWithElementThirdRow} />
</div>);
}
如果我为 MGT 获取组件调用 hard-refresh = false 的刷新方法,则整个组件重新加载并且闪烁再次可见
(document.querySelector('mgt-get') as MgtGet).refresh(false);
但是在启用轮询的情况下,仅在 UI 中更新更改而不加载整个组件并且没有可见的闪光,这是一种干净的方式。
我希望在刷新的情况下不会发生闪烁或加载整个组件,并且它的行为应该与轮询相同,即仅在 UI 中应用更改。