Your search did not match any results.
Range Selector

Custom Formatting

Documentation

This demo demonstrates the ability of the RangeSelector to set a custom format. The format of the slider marker is customized via the customizeText callback. The scale data is also formatted since the initial precision set in the data source is not suitable for properly displaying the data. So, a more appropriate precision is set for scale labels.

Copy to CodeSandBox
Apply
Reset
<template> <dx-range-selector id="range-selector" title="Select a Lead Concentration in Water" > <dx-margin :top="50"/> <dx-scale :minor-tick-interval="0.001" :tick-interval="0.005" :start-value="0.004563" :end-value="0.04976" > <dx-label> <dx-format :precision="3" type="fixedPoint" /> </dx-label> </dx-scale> <dx-slider-marker :customize-text="customizeText" > <dx-format :precision="4" type="fixedPoint" /> </dx-slider-marker> <dx-behavior :snap-to-ticks="false"/> </dx-range-selector> </template> <script> import { DxRangeSelector, DxMargin, DxScale, DxLabel, DxSliderMarker, DxFormat, DxBehavior } from 'devextreme-vue/range-selector'; export default { components: { DxRangeSelector, DxMargin, DxScale, DxLabel, DxSliderMarker, DxFormat, DxBehavior }, methods: { customizeText({ valueText }) { return `${valueText} mg/L`; } } }; </script> <style scoped> #range-selector { height: 210px; } </style>
import Vue from 'vue'; import App from './App.vue'; new Vue({ el: '#app', components: { App }, template: '<App/>' });
<!DOCTYPE html> <html> <head> <title>DevExtreme Demo</title> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/19.2.4/css/dx.common.css" /> <link rel="dx-theme" data-theme="generic.light" href="https://cdn3.devexpress.com/jslib/19.2.4/css/dx.light.css" /> <script src="https://unpkg.com/core-js@2.4.1/client/shim.min.js"></script> <script src="https://unpkg.com/systemjs@0.21.3/dist/system.js"></script> <script type="text/javascript" src="config.js"></script> <script type="text/javascript"> System.import('./index.js'); </script> </head> <body class="dx-viewport"> <div class="demo-container"> <div id="app"> </div> </div> </body> </html>
System.config({ transpiler: 'plugin-babel', paths: { 'npm:': 'https://unpkg.com/' }, map: { vue: 'npm:vue@2.6.3/dist/vue.esm.browser.js', 'vue-loader': 'npm:dx-systemjs-vue-browser@latest/index.js', 'devextreme': 'npm:devextreme@19.2', 'devextreme-vue': 'npm:devextreme-vue@19.2', jszip: 'npm:jszip@3.1.3/dist/jszip.min.js', 'quill': 'npm:quill@1.3.7/dist/quill.js', 'devexpress-diagram': 'npm:devexpress-diagram', 'devexpress-gantt': 'npm:devexpress-gantt', 'plugin-babel': 'npm:systemjs-plugin-babel@0/plugin-babel.js', 'systemjs-babel-build': 'npm:systemjs-plugin-babel@0/systemjs-babel-browser.js' }, meta: { '*.vue': { loader: 'vue-loader' } }, packages: { 'devextreme-vue': { main: 'index.js' }, 'devextreme': { defaultExtension: 'js' } }, babelOptions: { sourceMaps: false, stage0: true } });