首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LitElement替换组件内的内容

LitElement替换组件内的内容
EN

Stack Overflow用户
提问于 2021-10-28 07:19:45
回答 1查看 57关注 0票数 0

因此,我希望在我的lit组件中有一个加载指示器,直到它加载完毕。这是HTML:

代码语言:javascript
复制
            <login-element class=" flex justify-center items-center">
                <div class="animate-spin rounded-full h-11 w-11 border-t-2 border-b-2 border-purple-500"></div>
            </login-element>

下面是typescript代码:

代码语言:javascript
复制
import {LitElement, html} from 'lit';
import {customElement} from 'lit/decorators.js';

@customElement('login-element')
export class LoginElement extends LitElement {

    override createRenderRoot(){ return this; }

    override render() {
        return html`<a href="/auth0" class="inline-block text-sm px-4 py-2 leading-none border rounded text-white border-white hover:border-transparent hover:text-teal-500 hover:bg-white mt-4 lg:mt-0">Sign In</a>`
    }
}

目前,它附加了登录按钮。我想用它来代替装载指示器。有没有推荐的方法呢?

EN

回答 1

Stack Overflow用户

发布于 2021-10-28 10:31:27

您可以传递微调器的HTML和信息,无论是否通过自定义元素加载某些内容。

代码语言:javascript
复制
<login-element loading><b>Spinner-Element</b></login-element>

微调工具-HTML本身,您可以通过

代码语言:javascript
复制
unsafeHTML(this.innerHTML)

在您的自定义元素中。

然后,您可以使用微调器,并决定在render()函数中使用条件来显示它。

代码语言:javascript
复制
  @property({ type: Boolean })
  loading = false;
  
  render() {
    return html`     
      ${this.loading ? html`
      Showing spinner: ${unsafeHTML(this.innerHTML)}`: 'loaded!'}
    `;
  }

在这个可运行的示例中,如果删除"loading“属性,您将看到”已加载!“消息,否则您将看到传递给元素的内容是微调标记:https://stackblitz.com/edit/lit-element-typescript-starter-pl3bij?file=my-element.ts

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69749762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档