New to Kendo UI for Vue? Start a free 30-day trial

SegmentedControl Icon Options

Updated on Nov 11, 2026

You can enhance the content of the SegmentedControl items by displaying SVG icons, font icons, or a combination of icons and text.

The SegmentedControl items support the following icon options:

The following example demonstrates icon and text items, as well as icon-only items with accessible labels and optional tooltips.

Example
View Source
Loading ...

SVG Icons

To display an SVG icon inside a SegmentedControl item, set the svgIcon property of the item to the necessary SVGIcon.

vue
<script setup>
import { SegmentedControl } from '@progress/kendo-vue-buttons';
import { boldIcon } from '@progress/kendo-svg-icons';

const items = [{ value: 'bold', text: 'Bold', svgIcon: boldIcon }];
</script>

<template>
    <SegmentedControl :items="items" />
</template>

Font Icons

To display a Font icon inside a SegmentedControl item:

  1. Load the font icons in your project so that the icon renders as expected.
  2. Use the itemTemplate prop to render the Icon component inside the item.
vue
<script setup>
import { SegmentedControl } from '@progress/kendo-vue-buttons';
import { FontIcon } from '@progress/kendo-vue-common';
import '@progress/kendo-font-icons/dist/index.css';

const items = [{ value: 'bold', text: 'Bold' }];
</script>

<template>
    <SegmentedControl :items="items" :item-template="'itemTemplate'">
        <template #itemTemplate="{ props }">
            <FontIcon :name="props.item.value" />
            <span>{{ props.item.text }}</span>
        </template>
    </SegmentedControl>
</template>

For more details on how to set up an itemTemplate, refer to Item Templates.

Custom Icon Class

The iconClassName property applies a custom CSS class to the icon element when the item is selected. Use this property to style the active icon differently from the unselected icons.

The following example demonstrates a custom CSS class applied to the active icon.

Example
View Source
Loading ...

End Icon

To display an icon after the SegmentedControl item text, use the following props:

vue
<SegmentedControl :items="items" />

You can also combine the end icon with a custom leading icon configured through the svgIcon or icon prop.

The end icon uses the same theme class and selected-state iconClassName as the leading icon. A custom itemTemplate replaces all default item content, including end icons.

The following example demonstrates how to display end icons on the SegmentedControl items by setting the endSvgIcon and endIcon props.

Example
View Source
Loading ...