Resumen de React Medidor lineal
El componente de medidor lineal Ignite UI for React permite visualizar datos en forma de medidor lineal. Proporciona IgrLinearGauge
una vista simple y concisa de un valor comparado con una escala y uno o más rangos. Admite una escala, un conjunto de marcas de verificación y un conjunto de etiquetas. El componente también tiene un soporte incorporado para transiciones animadas. Esta animación es fácilmente personalizable configurando la transitionDuration
propiedad. Las características del componente de calibre lineal incluyen orientación y dirección configurables, elementos visuales configurables como la aguja, y más.
React Linear Gauge Example
El siguiente ejemplo demuestra cómo configurar varias propiedades en el mismo IgrLinearGauge
puede transformarlo en un calibre lineal completamente diferente.
import React from 'react' ;
import ReactDOM from 'react-dom/client' ;
import './index.css' ;
import { IgrLinearGauge } from "@infragistics/igniteui-react-gauges" ;
import { IgrLinearGraphRange } from "@infragistics/igniteui-react-gauges" ;
import { LinearGraphNeedleShape } from "@infragistics/igniteui-react-gauges" ;
import { IgrLinearGaugeModule } from "@infragistics/igniteui-react-gauges" ;
IgrLinearGaugeModule.register();
export default class LinearGaugeAnimation extends React.Component {
public gauge: IgrLinearGauge;
private shouldAnimate: boolean = false ;
constructor (props: any ) {
super (props);
this .onGaugeRef = this .onGaugeRef.bind(this );
this .onAnimateToGauge1 = this .onAnimateToGauge1.bind(this );
this .onAnimateToGauge2 = this .onAnimateToGauge2.bind(this );
this .onAnimateToGauge3 = this .onAnimateToGauge3.bind(this );
}
public onGaugeRef(component: IgrLinearGauge) {
if (!component) { return ; }
this .gauge = component;
this .onAnimateToGauge3(null );
}
public render (): JSX .Element {
return (
<div className ="container sample" >
<div className ="options horizontal" >
<button onClick ={this.onAnimateToGauge1} className ="options-button" > Gauge Animation #1 </button >
<button onClick ={this.onAnimateToGauge2} className ="options-button" > Gauge Animation #2 </button >
<button onClick ={this.onAnimateToGauge3} className ="options-button" > Gauge Animation #3 </button >
</div >
<IgrLinearGauge
ref ={this.onGaugeRef}
height ="80px"
width ="100%"
minimumValue ={0}
maximumValue ={100}
value ={50}
interval ={10}
labelInterval ={10}
labelExtent ={0.0}
minorTickEndExtent ={0.10}
minorTickStartExtent ={0.20}
tickStartExtent ={0.25}
tickEndExtent ={0.05}
tickStrokeThickness ={2}
needleShape ="Needle"
needleBrush ="#79797a"
needleOutline ="#79797a"
scaleStrokeThickness ={0}
scaleBrush ="#ffffff"
scaleOutline ="#d3d3d3"
backingBrush ="#ffffff"
backingOutline ="#d1d1d1"
backingStrokeThickness ={0} />
</div >
);
}
public onAnimateToGauge1 = (e: any ) => {
if (!this .gauge) { return ; }
if (this .shouldAnimate) {
this .gauge.transitionDuration = 1000 ;
}
this .gauge.minimumValue = 0 ;
this .gauge.maximumValue = 80 ;
this .gauge.value = 60 ;
this .gauge.interval = 20 ;
this .gauge.labelInterval = 20 ;
this .gauge.labelExtent = 0.0 ;
this .gauge.isNeedleDraggingEnabled = true ;
this .gauge.needleShape = LinearGraphNeedleShape.Trapezoid;
this .gauge.needleBrush = "#79797a" ;
this .gauge.needleOutline = "#ffffffff" ;
this .gauge.needleStrokeThickness = 1 ;
this .gauge.needleOuterExtent = 0.9 ;
this .gauge.needleInnerExtent = 0.3 ;
this .gauge.minorTickCount = 5 ;
this .gauge.minorTickEndExtent = 0.10 ;
this .gauge.minorTickStartExtent = 0.20 ;
this .gauge.minorTickStrokeThickness = 1 ;
this .gauge.tickStartExtent = 0.25 ;
this .gauge.tickEndExtent = 0.05 ;
this .gauge.tickStrokeThickness = 2 ;
const range1 = new IgrLinearGraphRange({});
range1.startValue = 0 ;
range1.endValue = 40 ;
const range2 = new IgrLinearGraphRange({});
range2.startValue = 40 ;
range2.endValue = 80 ;
this .gauge.rangeBrushes = ["#a4bd29" , "#F86232" ];
this .gauge.rangeOutlines = ["#a4bd29" , "#F86232" ];
this .gauge.ranges.clear();
this .gauge.ranges.add(range1);
this .gauge.ranges.add(range2);
for (let i = 0 ; i < this.gauge.ranges.count; i++) {
const range = this.gauge.ranges.item(i);
range.innerStartExtent = 0.075;
range.innerEndExtent = 0.075;
range.outerStartExtent = 0.65;
range.outerEndExtent = 0.65;
}
// setting extent of gauge scale
this.gauge.scaleStrokeThickness = 0;
this.gauge.scaleBrush = "#ffffff";
this.gauge.scaleOutline = "#dbdbdb";
this.gauge.scaleInnerExtent = 0.075;
this.gauge.scaleOuterExtent = 0.85;
this.gauge.scaleStartExtent = 0.05;
this.gauge.scaleEndExtent = 0.95;
// setting appearance of backing fill and outline
this.gauge.backingBrush = "#ffffff";
this.gauge.backingOutline = "#d1d1d1";
this.gauge.backingStrokeThickness = 0;
this.shouldAnimate = true;
}
public onAnimateToGauge2 = (e: any) => {
if (!this .gauge) { return ; }
if (this .shouldAnimate) {
this .gauge.transitionDuration = 1000 ;
}
this .gauge.minimumValue = 100 ;
this .gauge.maximumValue = 200 ;
this .gauge.value = 150 ;
this .gauge.interval = 20 ;
this .gauge.labelInterval = 20 ;
this .gauge.labelExtent = 0.0 ;
this .gauge.isNeedleDraggingEnabled = true ;
this .gauge.needleShape = LinearGraphNeedleShape.Triangle;
this .gauge.needleBrush = "#79797a" ;
this .gauge.needleOutline = "#ffffffff" ;
this .gauge.needleStrokeThickness = 1 ;
this .gauge.needleOuterExtent = 0.9 ;
this .gauge.needleInnerExtent = 0.3 ;
this .gauge.minorTickCount = 4 ;
this .gauge.minorTickEndExtent = 0.10 ;
this .gauge.minorTickStartExtent = 0.20 ;
this .gauge.minorTickStrokeThickness = 1 ;
this .gauge.tickStartExtent = 0.25 ;
this .gauge.tickEndExtent = 0.05 ;
this .gauge.tickStrokeThickness = 2 ;
const range1 = new IgrLinearGraphRange({});
range1.startValue = 100 ;
range1.endValue = 125 ;
const range2 = new IgrLinearGraphRange({});
range2.startValue = 125 ;
range2.endValue = 150 ;
const range3 = new IgrLinearGraphRange({});
range3.startValue = 150 ;
range3.endValue = 175 ;
const range4 = new IgrLinearGraphRange({});
range4.startValue = 175 ;
range4.endValue = 200 ;
this .gauge.rangeBrushes = ["#0078C8" , "#0099FF" , "#21A7FF" , "#4FB9FF" ];
this .gauge.rangeOutlines = ["#0078C8" , "#0099FF" , "#21A7FF" , "#4FB9FF" ];
this .gauge.ranges.clear();
this .gauge.ranges.add(range1);
this .gauge.ranges.add(range2);
this .gauge.ranges.add(range3);
this .gauge.ranges.add(range4);
for (let i = 0 ; i < this.gauge.ranges.count; i++) {
const range = this.gauge.ranges.item(i);
range.innerStartExtent = 0.075;
range.innerEndExtent = 0.075;
range.outerStartExtent = 0.65;
range.outerEndExtent = 0.65;
}
// setting extent of gauge scale
this.gauge.scaleStrokeThickness = 0;
this.gauge.scaleBrush = "#ffffff";
this.gauge.scaleOutline = "#dbdbdb";
this.gauge.scaleInnerExtent = 0.075;
this.gauge.scaleOuterExtent = 0.85;
this.gauge.scaleStartExtent = 0.05;
this.gauge.scaleEndExtent = 0.95;
// setting appearance of backing fill and outline
this.gauge.backingBrush = "#ffffff";
this.gauge.backingOutline = "#d1d1d1";
this.gauge.backingStrokeThickness = 0;
this.shouldAnimate = true;
}
public onAnimateToGauge3 = (e: any) => {
if (!this .gauge) { return ; }
if (this .shouldAnimate) {
this .gauge.transitionDuration = 1000 ;
}
this .gauge.minimumValue = 0 ;
this .gauge.maximumValue = 100 ;
this .gauge.value = 50 ;
this .gauge.interval = 10 ;
this .gauge.labelInterval = 10 ;
this .gauge.labelExtent = 0.0 ;
this .gauge.isNeedleDraggingEnabled = true ;
this .gauge.needleShape = LinearGraphNeedleShape.Needle;
this .gauge.needleBrush = "#79797a" ;
this .gauge.needleOutline = "#ffffffff" ;
this .gauge.needleStrokeThickness = 1 ;
this .gauge.needleOuterExtent = 0.9 ;
this .gauge.needleInnerExtent = 0.3 ;
this .gauge.minorTickCount = 5 ;
this .gauge.minorTickEndExtent = 0.10 ;
this .gauge.minorTickStartExtent = 0.20 ;
this .gauge.minorTickStrokeThickness = 1 ;
this .gauge.tickStartExtent = 0.25 ;
this .gauge.tickEndExtent = 0.05 ;
this .gauge.tickStrokeThickness = 2 ;
const range1 = new IgrLinearGraphRange({});
range1.startValue = 0 ;
range1.endValue = 30 ;
const range2 = new IgrLinearGraphRange({});
range2.startValue = 30 ;
range2.endValue = 70 ;
const range3 = new IgrLinearGraphRange({});
range3.startValue = 70 ;
range3.endValue = 100 ;
this .gauge.rangeBrushes = ["#9FB328" , "#438C47" , "#3F51B5" ];
this .gauge.rangeOutlines = ["#9FB328" , "#438C47" , "#3F51B5" ];
this .gauge.ranges.clear();
this .gauge.ranges.add(range1);
this .gauge.ranges.add(range2);
this .gauge.ranges.add(range3);
for (let i = 0 ; i < this.gauge.ranges.count; i++) {
const range = this.gauge.ranges.item(i);
range.innerStartExtent = 0.075;
range.innerEndExtent = 0.075;
range.outerStartExtent = 0.65;
range.outerEndExtent = 0.65;
}
// setting extent of gauge scale
this.gauge.scaleStrokeThickness = 0;
this.gauge.scaleBrush = "#ffffff";
this.gauge.scaleOutline = "#dbdbdb";
this.gauge.scaleInnerExtent = 0.075;
this.gauge.scaleOuterExtent = 0.85;
this.gauge.scaleStartExtent = 0.05;
this.gauge.scaleEndExtent = 0.95;
// setting appearance of backing fill and outline
this.gauge.backingBrush = "#ffffff";
this.gauge.backingOutline = "#d1d1d1";
this.gauge.backingStrokeThickness = 0;
this.shouldAnimate = true;
}
}
// rendering above class to the React DOM
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render( <LinearGaugeAnimation /> );
tsx コピー
Like this sample? Get access to our complete Ignite UI for React toolkit and start building your own apps in minutes. Download it for free.
Dependencies
Al instalar el componente de calibre React, también se debe instalar el paquete principal.
npm install --save igniteui-react-core
npm install --save igniteui-react-gauges
cmd
Component Modules
El IgrLinearGauge
requiere los siguientes módulos:
import { IgrLinearGaugeModule } from 'igniteui-react-gauges' ;
IgrLinearGaugeModule.register();
ts
Usage
El siguiente código demuestra cómo crear un medidor lineal que contiene una aguja y tres rangos comparativos en la escala.
<IgrLinearGauge width ="700px"
height ="30px"
minimumValue = {5}
maximumValue = {55}
value = {43} >
<IgrLinearGraphRange startValue ={0}
endValue ={15}
brush ="red" />
<IgrLinearGraphRange startValue ={15}
endValue ={30}
brush ="yellow" />
<IgrLinearGraphRange startValue ={30}
endValue ={55}
brush ="green" />
</IgrLinearGauge >
tsx
Needle
Esta es la medida principal que muestra el componente de calibre lineal y se visualiza como una barra o puede personalizarla para que muestre casi cualquier forma, como se muestra a continuación.
<IgrLinearGauge
height ="80px" width ="400px"
minimumValue ={0}
maximumValue ={100} interval ={10}
value ={50}
isNeedleDraggingEnabled ={true}
needleShape ="Custom"
needleBrush ="DodgerBlue"
needleOutline ="DodgerBlue"
needleStrokeThickness ={1}
needleBreadth ={15}
needleInnerExtent ={0.35}
needleOuterExtent ={0.65}
needleOuterPointExtent ={0.8}
needleInnerPointExtent ={0.325}
needleInnerPointWidth ={0}
needleOuterPointWidth ={0.3}
needleInnerBaseWidth ={0}
needleOuterBaseWidth ={0.07} />
tsx
import React from 'react' ;
import ReactDOM from 'react-dom/client' ;
import './index.css' ;
import { IgrLinearGauge } from "@infragistics/igniteui-react-gauges" ;
import { IgrLinearGaugeModule } from "@infragistics/igniteui-react-gauges" ;
IgrLinearGaugeModule.register();
export default class LinearGaugeNeedle extends React.Component {
public render (): JSX .Element {
return (
<div className ="container sample" >
<IgrLinearGauge
height ="80px"
width ="100%"
minimumValue ={0} value ={50}
maximumValue ={100} interval ={10}
isNeedleDraggingEnabled ={true}
needleShape ="Custom"
needleBrush ="DodgerBlue"
needleOutline ="DodgerBlue"
needleStrokeThickness ={1}
needleBreadth ={15}
needleInnerExtent ={0.35}
needleOuterExtent ={0.65}
needleOuterPointExtent ={0.8}
needleInnerPointExtent ={0.325}
needleInnerPointWidth ={0}
needleOuterPointWidth ={0.3}
needleInnerBaseWidth ={0}
needleOuterBaseWidth ={0.07} />
</div >
);
}
}
const root = ReactDOM.createRoot (document.getElementById('root' ));
root.render (<LinearGaugeNeedle /> );
tsx コピー
Highlight Needle
El calibre lineal se puede modificar para mostrar una segunda aguja. Esto hará que la aguja value
principal aparezca con una opacidad más baja. Para habilitar esto, primero establezca highlightValueDisplayMode
en Superposición y, a continuación, aplique a highlightValue
.
<IgrLinearGauge
height ="80px"
width ="100%"
value ={75}
minimumValue ={0}
maximumValue ={100}
interval ={10}
labelInterval ={10}
labelExtent ={0.025}
labelsPreTerminal ={0}
labelsPostInitial ={0}
needleBrush ='blue'
highlightValueDisplayMode ="Overlay"
highlightValue ={25}
isHighlightNeedleDraggingEnabled ={true}
/>
tsx
import React from 'react' ;
import ReactDOM from 'react-dom/client' ;
import './index.css' ;
import { IgrLinearGauge } from "@infragistics/igniteui-react-gauges" ;
import { IgrLinearGaugeModule } from "@infragistics/igniteui-react-gauges" ;
IgrLinearGaugeModule.register();
export default class LinearGaugeHighlightNeedle extends React.Component {
public render (): JSX .Element {
return (
<div className ="container sample" >
<IgrLinearGauge
height ="80px"
width ="100%"
value ={75}
minimumValue ={0}
maximumValue ={100}
interval ={10}
labelInterval ={10}
labelExtent ={0.025}
labelsPreTerminal ={0}
labelsPostInitial ={0}
needleBrush ='blue'
highlightValueDisplayMode ="Overlay"
highlightValue ={25}
isHighlightNeedleDraggingEnabled ={true}
/>
</div >
);
}
}
const root = ReactDOM.createRoot (document.getElementById('root' ));
root.render (<LinearGaugeHighlightNeedle /> );
tsx コピー
Ranges
Los rangos son elementos visuales que resaltan un rango específico de valores en una escala. Su propósito es comunicar visualmente el estado cualitativo de la barra de medición de desempeño, ilustrando al mismo tiempo el grado en que se encuentra dentro de ese estado.
<IgrLinearGauge
height ="80px" width ="400px"
minimumValue ={0} value ={50}
maximumValue ={100} interval ={10}
rangeBrushes ="#a4bd29, #F86232"
rangeOutlines ="#a4bd29, #F86232" >
<IgrLinearGraphRange
startValue ={0} endValue ={50}
innerStartExtent ={0.075} innerEndExtent ={0.075}
outerStartExtent ={0.25} outerEndExtent ={0.4} />
<IgrLinearGraphRange
startValue ={50} endValue ={100}
innerStartExtent ={0.075} innerEndExtent ={0.075}
outerStartExtent ={0.4} outerEndExtent ={0.55} />
</IgrLinearGauge >
tsx
import React from 'react' ;
import ReactDOM from 'react-dom/client' ;
import './index.css' ;
import { IgrLinearGauge } from "@infragistics/igniteui-react-gauges" ;
import { IgrLinearGraphRange } from "@infragistics/igniteui-react-gauges" ;
import { IgrLinearGaugeModule } from "@infragistics/igniteui-react-gauges" ;
IgrLinearGaugeModule.register();
export default class LinearGaugeRanges extends React.Component {
public render (): JSX .Element {
return (
<div className ="container sample" >
<IgrLinearGauge
height ="80px"
width ="100%"
minimumValue ={0} value ={50}
maximumValue ={100} interval ={10}
rangeBrushes ="#a4bd29, #F86232"
rangeOutlines ="#a4bd29, #F86232" >
<IgrLinearGraphRange name ="range1"
startValue ={0} endValue ={50}
innerStartExtent ={0.075} innerEndExtent ={0.075}
outerStartExtent ={0.25} outerEndExtent ={0.4} />
<IgrLinearGraphRange name ="range2"
startValue ={50} endValue ={100}
innerStartExtent ={0.075} innerEndExtent ={0.075}
outerStartExtent ={0.4} outerEndExtent ={0.55} />
</IgrLinearGauge >
</div >
);
}
}
const root = ReactDOM.createRoot (document.getElementById('root' ));
root.render (<LinearGaugeRanges /> );
tsx コピー
Tick Marks
Las marcas sirven como división visual de la escala en intervalos para aumentar la legibilidad del calibre lineal.
Marcas de graduación principales: las marcas de graduación principales se utilizan como delimitadores principales en la escala. La frecuencia con la que aparecen, su extensión y estilo se pueden controlar estableciendo sus propiedades correspondientes.
Marcas de graduación menores: las marcas de graduación menores representan marcas de graduación auxiliares, que pueden usarse para mejorar aún más la legibilidad de la escala y se pueden personalizar de manera similar a las principales.
<IgrLinearGauge
height ="80px" width ="400px"
minimumValue ={0} value ={50}
maximumValue ={100}
interval ={10}
tickBrush ="DodgerBlue"
ticksPreTerminal ={0}
ticksPostInitial ={0}
tickStrokeThickness ={2}
tickStartExtent ={0.25}
tickEndExtent ={0.05}
minorTickCount ={4}
minorTickBrush ="DarkViolet"
minorTickEndExtent ={0.05}
minorTickStartExtent ={0.15}
minorTickStrokeThickness ={1} />
tsx
import React from 'react' ;
import ReactDOM from 'react-dom/client' ;
import './index.css' ;
import { IgrLinearGauge } from "@infragistics/igniteui-react-gauges" ;
import { IgrLinearGaugeModule } from "@infragistics/igniteui-react-gauges" ;
IgrLinearGaugeModule.register();
export default class LinearGaugeTickmarks extends React.Component {
public render (): JSX .Element {
return (
<div className ="container sample" >
<IgrLinearGauge
height ="80px"
width ="100%"
minimumValue ={0} value ={50}
maximumValue ={100} interval ={10}
tickBrush ="DodgerBlue"
ticksPreTerminal ={0}
ticksPostInitial ={0}
tickStrokeThickness ={2}
tickStartExtent ={0.25}
tickEndExtent ={0.05}
minorTickCount ={4}
minorTickBrush ="DarkViolet"
minorTickEndExtent ={0.05}
minorTickStartExtent ={0.15}
minorTickStrokeThickness ={1} />
</div >
);
}
}
const root = ReactDOM.createRoot (document.getElementById('root' ));
root.render (<LinearGaugeTickmarks /> );
tsx コピー
Labels
Las etiquetas indican las medidas de la báscula.
<IgrLinearGauge
height ="80px" width ="400px"
minimumValue ={0} value ={50}
maximumValue ={100} interval ={10}
labelInterval ={10}
labelExtent ={0.025}
labelsPreTerminal ={0}
labelsPostInitial ={0}
fontBrush ="DodgerBlue"
font ="11px Verdana" />
tsx
import React from 'react' ;
import ReactDOM from 'react-dom/client' ;
import './index.css' ;
import { IgrLinearGauge } from "@infragistics/igniteui-react-gauges" ;
import { IgrLinearGaugeModule } from "@infragistics/igniteui-react-gauges" ;
IgrLinearGaugeModule.register();
export default class LinearGaugeLabels extends React.Component {
public render (): JSX .Element {
return (
<div className ="container sample" >
<IgrLinearGauge
height ="80px"
width ="100%"
minimumValue ={0} value ={50}
maximumValue ={100} interval ={10}
labelInterval ={10}
labelExtent ={0.025}
labelsPreTerminal ={0}
labelsPostInitial ={0}
fontBrush ="DodgerBlue"
font ="11px Verdana" />
</div >
);
}
}
const root = ReactDOM.createRoot (document.getElementById('root' ));
root.render (<LinearGaugeLabels /> );
tsx コピー
Backing
El elemento de respaldo representa el fondo y el borde del componente de calibre lineal. Siempre es el primer elemento representado y el resto de elementos, como etiquetas y marcas, se superponen encima.
<IgrLinearGauge
height ="80px" width ="400px"
minimumValue ={0} value ={50}
maximumValue ={100} interval ={10}
backingBrush ="#bddcfc"
backingOutline ="DodgerBlue"
backingStrokeThickness ={4}
backingInnerExtent ={0}
backingOuterExtent ={1} />
tsx
import React from 'react' ;
import ReactDOM from 'react-dom/client' ;
import './index.css' ;
import { IgrLinearGauge } from "@infragistics/igniteui-react-gauges" ;
import { IgrLinearGaugeModule } from "@infragistics/igniteui-react-gauges" ;
IgrLinearGaugeModule.register();
export default class LinearGaugeBacking extends React.Component {
public render (): JSX .Element {
return (
<div className ="container sample" >
<IgrLinearGauge
height ="80px"
width ="100%"
minimumValue ={0} value ={50}
maximumValue ={100} interval ={10}
backingBrush ="#bddcfc"
backingOutline ="DodgerBlue"
backingStrokeThickness ={4}
backingInnerExtent ={0}
backingOuterExtent ={1} />
</div >
);
}
}
const root = ReactDOM.createRoot (document.getElementById('root' ));
root.render (<LinearGaugeBacking /> );
tsx コピー
Scale
La escala es un elemento visual que resalta toda la gama de valores del calibre lineal. Puedes personalizar la apariencia y la forma de la escala. También se puede invertir (usando la propiedad isScaleInverted
) y todas las etiquetas se representarán de derecha a izquierda en lugar de de izquierda a derecha.
<IgrLinearGauge
height ="80px" width ="400px"
minimumValue ={0} value ={50}
maximumValue ={100} interval ={10}
isScaleInverted ={false}
scaleBrush ="DodgerBlue"
scaleOutline ="DarkViolet"
scaleStrokeThickness ={1}
scaleInnerExtent ={0.05}
scaleOuterExtent ={0.65}
scaleStartExtent ={0.05}
scaleEndExtent ={0.95} />
tsx
import React from 'react' ;
import ReactDOM from 'react-dom/client' ;
import './index.css' ;
import { IgrLinearGauge } from "@infragistics/igniteui-react-gauges" ;
import { IgrLinearGaugeModule } from "@infragistics/igniteui-react-gauges" ;
IgrLinearGaugeModule.register();
export default class LinearGaugeScale extends React.Component {
public render (): JSX .Element {
return (
<div className ="container sample" >
<IgrLinearGauge
height ="80px"
width ="100%"
minimumValue ={0} value ={50}
maximumValue ={100} interval ={10}
isScaleInverted ={false}
scaleBrush ="DodgerBlue"
scaleOutline ="Red"
scaleStrokeThickness ={2}
scaleInnerExtent ={0.05}
scaleOuterExtent ={0.65}
scaleStartExtent ={0.05}
scaleEndExtent ={0.95} />
</div >
);
}
}
const root = ReactDOM.createRoot (document.getElementById('root' ));
root.render (<LinearGaugeScale /> );
tsx コピー
Summary
Para su comodidad, todos los fragmentos de código anteriores se combinan en un bloque de código a continuación que puede copiar fácilmente a su proyecto y ver el medidor lineal con todas las funciones y elementos visuales habilitados.
<IgrLinearGauge
height ="80px" width ="400px"
minimumValue ={0}
maximumValue ={100}
labelInterval ={10}
labelExtent ={0.025}
labelsPreTerminal ={0}
labelsPostInitial ={0}
fontBrush ="Black"
font ="11px Verdana"
interval ={10}
tickBrush ="Black"
ticksPreTerminal ={0}
ticksPostInitial ={0}
tickStrokeThickness ={2}
tickStartExtent ={0.25}
tickEndExtent ={0.05}
minorTickCount ={4}
minorTickBrush ="Black"
minorTickEndExtent ={0.05}
minorTickStartExtent ={0.15}
minorTickStrokeThickness ={1}
value ={50}
isNeedleDraggingEnabled ={true}
needleShape ="Custom"
needleBrush ="Black"
needleOutline ="Black"
needleStrokeThickness ={1}
needleBreadth ={15}
needleInnerExtent ={0.35}
needleOuterExtent ={0.65}
needleOuterPointExtent ={0.8}
needleInnerPointExtent ={0.325}
needleInnerPointWidth ={0}
needleOuterPointWidth ={0.3}
needleInnerBaseWidth ={0}
needleOuterBaseWidth ={0.07}
isScaleInverted ={false}
scaleBrush ="Gray"
scaleOutline ="Gray"
scaleStrokeThickness ={1}
scaleInnerExtent ={0.05}
scaleOuterExtent ={0.65}
scaleStartExtent ={0.05}
scaleEndExtent ={0.95}
backingBrush ="#cecece"
backingOutline ="#cecece"
backingStrokeThickness ={4}
backingInnerExtent ={0}
backingOuterExtent ={1}
rangeBrushes ="#C62828, #F96232, #FF9800"
rangeOutlines ="#C62828, #F96232, #FF9800" >
<IgrLinearGraphRange
startValue ={0} endValue ={50}
innerStartExtent ={0.075} innerEndExtent ={0.075}
outerStartExtent ={0.25} outerEndExtent ={0.4} />
<IgrLinearGraphRange
startValue ={50} endValue ={100}
innerStartExtent ={0.075} innerEndExtent ={0.075}
outerStartExtent ={0.4} outerEndExtent ={0.55} />
</IgrLinearGauge >
tsx
API References
La siguiente es una lista de miembros de API mencionados en las secciones anteriores:
Additional Resources
Puede encontrar más información sobre otros tipos de medidores en estos temas: