Socket
Socket
Sign inDemoInstall

@uiw/react-loader

Package Overview
Dependencies
6
Maintainers
2
Versions
171
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @uiw/react-loader

Loader component


Version published
Weekly downloads
225
increased by31.58%
Maintainers
2
Install size
39.0 kB
Created
Weekly downloads
 

Readme

Source

Loader 加载器

Buy me a coffee Open in unpkg NPM Downloads npm version

用于页面和区块的加载中状态。

import { Loader } from 'uiw';
// or
import Loader from '@uiw/react-loader';

基础实例

import React from 'react';
import { Loader } from "uiw";

export default function Demo() {
  return (
    <div>
      <Loader size="small" />
      <Loader />
      <Loader size="large" />
    </div>
  );
}

警告提示中加载

import React, { Component } from 'react';
import { Loader, Row, Col, Message, Icon, Button } from "uiw";

class Demo extends Component {
  constructor(props) {
    super(props);
    this.state = {
      loading: true,
    };
  }
  render() {
    return (
      <div>
        <Row gutter={10}>
          <Col>
            <Button
              style={{ marginBottom: 10 }}
              size="small"
              onClick={() => {
                this.setState({
                  loading: !this.state.loading,
                });
              }}
            >
              点击切换加载状态
            </Button>
          </Col>
        </Row>
        <Row gutter={10}>
          <Col fixed>
            <Loader loading={this.state.loading}>
              <Message
                type="success"
                title="成功提示标题"
                description={
                  <span>
                    <Icon
                      type="uiw"
                      verticalAlign="baseline"
                      style={{ fill: "#009688" }}
                    />
                    这里是成功提示详情描述。
                  </span>
                }
              />
            </Loader>
          </Col>
          <Col fixed>
            <Loader loading={this.state.loading}>
              <Message
                type="warning"
                title="成功提示标题"
                description="这里是成功提示详情描述。"
              />
            </Loader>
          </Col>
        </Row>
      </div>
    );
  }
}
export default Demo;

卡片加载中

import React from 'react';
import { Loader, Card, Col, Row } from "uiw";

export default function Demo() {
  return (
    <Row gutter={10}>
      <Col fixed>
        <Card
          title="图标与文字一行显示"
          extra={<a href="#">更多</a>}
          style={{ minWidth: 230 }}
        >
          <Loader color="red" tip="加载中..." style={{ width: "100%" }}>
            <div>
              卡片内容
              <br />
              卡片内容
              <br />
              卡片内容
              <br />
            </div>
          </Loader>
        </Card>
      </Col>
      <Col fixed>
        <Card
          title="图标与文字垂直显示"
          extra={<a href="#">更多</a>}
          style={{ minWidth: 230 }}
        >
          <Loader tip="loading..." vertical style={{ width: "100%" }}>
            <div>
              卡片内容
              <br />
              卡片内容
              <br />
              卡片内容
              <br />
            </div>
          </Loader>
        </Card>
      </Col>
      <Col fixed>
        <Card
          title="自定义背景颜色"
          extra={<a href="#">更多</a>}
          style={{ minWidth: 230 }}
        >
          <Loader
            bgColor="rgba(0, 0, 0, 0.4)"
            color="#fff"
            tip="loading..."
            vertical
            style={{ width: "100%" }}
          >
            <div>
              卡片内容
              <br />
              卡片内容
              <br />
              卡片内容
              <br />
            </div>
          </Loader>
        </Card>
      </Col>
    </Row>
  );
}

自定义加载图标动画

import React from 'react';
import { Loader, Card, Icon } from "uiw";

export default function Demo() {
  return (
    <div>
      <Card title="Card标题" extra={<a href="#">更多</a>} style={{ width: 300 }}>
        <Loader
          tip="加载中..."
          color="red"
          indicator={
            <Icon
              type="loading"
              spin={true}
              style={{ verticalAlign: "text-top" }}
            />
          }
          style={{ width: "100%" }}
        >
          <div>
            卡片内容
            <br />
            卡片内容
            <br />
            卡片内容
            <br />
          </div>
        </Loader>
      </Card>
    </div>
  );
}

整页加载

页面数据加载时显示。

import React from 'react';
import { Loader, Icon, Button } from "uiw";

class Demo extends React.Component {
  constructor() {
    super();
    this.state = {
      fullscreen: false,
    };
  }
  render() {
    return (
      <div>
        <Button
          style={{ marginBottom: 10 }}
          type="primary"
          onClick={() => {
            this.setState(
              {
                fullscreen: !this.state.fullscreen,
              },
              () => {
                setTimeout(() => {
                  this.setState({
                    fullscreen: !this.state.fullscreen,
                  });
                }, 3000);
              }
            );
          }}
        >
          显示整页加载,3 秒后消失
        </Button>
        {this.state.fullscreen && (
          <Loader
            tip="加载中..."
            size="large"
            bgColor="rgba(255, 255, 255, 0.9)"
            fullscreen={this.state.fullscreen}
          />
        )}
      </div>
    );
  }
}

export default Demo;

Props

参数说明类型默认值
size尺寸Enum{small, default, large}default
loading是否旋转Booleantrue
indicator加载指示符,可以加载一个 Icon 动画ReactNode-
tip当作为包裹元素时,可以自定义描述文案String-
color设置图标与文字的颜色String-
vertical图标与文字垂直显示Boolean-
bgColor自定义背景颜色String-
fullscreen是否全屏显示Booleanfalse

Keywords

FAQs

Last updated on 29 Nov 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc