DevExtreme React - Overview
The LoadIndicator is a UI element notifying the viewer that a process is in progress.
The following code adds a simple LoadIndicator to your page. You can change the widget size, using the height and width options.
jQuery
HTML
JavaScript
<div id="loadIndicatorContainer"></div>
$(function() {
    $("#loadIndicatorContainer").dxLoadIndicator({
        visible: true,
        height: 40,
        width: 40
    });
});Angular
HTML
TypeScript
<dx-load-indicator
    [(visible)]="isLoadIndicatorVisible"
    [height]="40"
    [width]="40">
</dx-load-indicator>
import { DxLoadIndicatorModule } from "devextreme-angular";
// ...
export class AppComponent {
    isLoadIndicatorVisible: boolean = true;
}
@NgModule({
    imports: [
        // ...
        DxLoadIndicatorModule
    ],
    // ...
})Vue
<template>
    <DxLoadIndicator
        :visible.sync="isLoadIndicatorVisible"
        :height="40"
        :width="40"
    />
</template>
<script>
import 'devextreme/dist/css/dx.common.css';
import 'devextreme/dist/css/dx.light.css';
import { DxLoadIndicator } from 'devextreme-vue/load-indicator';
export default {
    components: {
        DxLoadIndicator
    },
    data() {
        return {
            isLoadIndicatorVisible: true
        };
    }
}
</script>React
import React from 'react';
import 'devextreme/dist/css/dx.common.css';
import 'devextreme/dist/css/dx.light.css';
import { LoadIndicator } from 'devextreme-react/load-indicator';
class App extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            isLoadIndicatorVisible: true
        };
    }
    render() {
        return (
            <LoadIndicator
                visible={this.state.isLoadIndicatorVisible}
                height={40}
                width={40}
            />
        );
    }
}
export default App;If you need to use a custom image in the LoadIndicator, assign its URL to the indicatorSrc option.
jQuery
JavaScript
$(function() {
    $("#loadIndicatorContainer").dxLoadIndicator({
        visible: true,
        indicatorSrc: "https://js.devexpress.com/Content/data/loadingIcons/rolling.svg"
    });
});Angular
HTML
TypeScript
<dx-load-indicator
    [(visible)]="isLoadIndicatorVisible"
    [indicatorSrc]="indicatorUrl">
</dx-load-indicator>
import { DxLoadIndicatorModule } from "devextreme-angular";
// ...
export class AppComponent {
    isLoadIndicatorVisible: boolean = true;
    indicatorUrl: string = "https://js.devexpress.com/Content/data/loadingIcons/rolling.svg";
}
@NgModule({
    imports: [
        // ...
        DxLoadIndicatorModule
    ],
    // ...
})Vue
<template>
    <DxLoadIndicator
        :visible.sync="isLoadIndicatorVisible"
        :indicatorSrc="indicatorUrl"
    />
</template>
<script>
import 'devextreme/dist/css/dx.common.css';
import 'devextreme/dist/css/dx.light.css';
import { DxLoadIndicator } from 'devextreme-vue/load-indicator';
export default {
    components: {
        DxLoadIndicator
    },
    data() {
        return {
            isLoadIndicatorVisible: true,
            indicatorUrl: "https://js.devexpress.com/Content/data/loadingIcons/rolling.svg"
        };
    }
}
</script>React
import React from 'react';
import 'devextreme/dist/css/dx.common.css';
import 'devextreme/dist/css/dx.light.css';
import { LoadIndicator } from 'devextreme-react/load-indicator';
class App extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            isLoadIndicatorVisible: true
            indicatorUrl: "https://js.devexpress.com/Content/data/loadingIcons/rolling.svg"
        };
    }
    render() {
        return (
            <LoadIndicator
                visible={this.state.isLoadIndicatorVisible}
                indicatorSrc={this.state.indicatorUrl}
            />
        );
    }
}
export default App;See Also
- Configure a Widget: Angular | Vue | React | jQuery | AngularJS | Knockout | ASP.NET MVC 5 | ASP.NET Core
- LoadIndicator - Show and Hide Using the API
- LoadIndicator API Reference
- LoadPanel - Overview
        
            Feel free to share topic-related thoughts here.
If you have technical questions, please create a support ticket in the DevExpress Support Center.
    Thank you for the feedback!
If you have technical questions, please create a support ticket in the DevExpress Support Center.