feat(segment, segment-button): update segment value property to accept numbers (#27222)

Issue number: resolves #27221

---------

## What is the current behavior?

The value property of the segment component in Ionic Framework currently
only accepts string values.

## What is the new behavior?

This pull request updates the "value" property of the segment component
to accept a union of string and number types. This allows for more
versatile data input in the segment component, particularly for users
who work with numerical data.

## Does this introduce a breaking change?

- [ ] Yes
- [X] No

## Other information

N/A
This commit is contained in:
Morritz
2023-05-24 16:07:57 +02:00
committed by GitHub
parent e80f0b2409
commit ec95ae5cd3
8 changed files with 20 additions and 14 deletions

View File

@ -9,7 +9,7 @@ import { config } from '../../global/config';
import { getIonMode } from '../../global/ionic-global';
import type { Color, StyleEventDetail } from '../../interface';
import type { SegmentChangeEventDetail } from './segment-interface';
import type { SegmentChangeEventDetail, SegmentValue } from './segment-interface';
/**
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
@ -26,7 +26,7 @@ export class Segment implements ComponentInterface {
private gesture?: Gesture;
// Value before the segment is dragged
private valueBeforeGesture?: string;
private valueBeforeGesture?: SegmentValue;
@Element() el!: HTMLIonSegmentElement;
@ -76,10 +76,10 @@ export class Segment implements ComponentInterface {
/**
* the value of the segment.
*/
@Prop({ mutable: true }) value?: string;
@Prop({ mutable: true }) value?: SegmentValue;
@Watch('value')
protected valueChanged(value: string | undefined) {
protected valueChanged(value: SegmentValue | undefined) {
/**
* `ionSelect` is emitted every time the value changes (internal or external changes).
* Used by `ion-segment-button` to determine if the button should be checked.