Skip to content

slider: сторисы, обёртки#28

Merged
AxyIX merged 6 commits intofeature/styles-debugfrom
form.slider
Apr 14, 2026
Merged

slider: сторисы, обёртки#28
AxyIX merged 6 commits intofeature/styles-debugfrom
form.slider

Conversation

@khaliulin
Copy link
Copy Markdown

No description provided.

imports: [Slider, FormsModule],
template: `
<p-slider
[ngModel]="normalizedValue"
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

наличие ngModel говорит о том, что компонент может работать с реактивными формами. если мы хотим (думаю лучше хотим) поддержать этот функционал - компонент должен имплементировать ControlValueAccessor

[range]="range"
[orientation]="orientation"
[disabled]="disabled"
(onChange)="onChange.emit($event)"
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

в случае если реализуем ControlValueAccessor - свойство onChange будет не нужно. нужно будет создать FormControl, и передать его в p-slider.

@Input() range = false;
@Input() orientation: SliderOrientation = 'horizontal';
@Input() disabled = false;
@Output() onChange = new EventEmitter<SliderChangeEvent>();
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

тут таже история. onChange не будет. onChange будет срабатывать в подкапотной ангуляровской логике для реактивных форм. кстати ещё один важный момент. лучше всего добавить компонентам changeDetection: ChangeDetectionStrategy.OnPush. и сделать так, что бы они с ним работали. это гарантирует нам, что компоненты будут работать в этом режиме на уровне модуля какого нибудь.

})
export class SliderComponent implements OnChanges {
@Input() value: number | number[] = 0;
@Output() valueChange = new EventEmitter<number | number[]>();
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

на сколько помню мы хотели подстраиваться под апи прайма. в прайме у слайдера нет valueChange емиттера

component: `Слайдер позволяет выбрать числовое значение или диапазон путём перемещения ползунка.

\`\`\`typescript
import { SliderModule } from 'primeng/slider';
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

модуль

@khaliulin
Copy link
Copy Markdown
Author

@AxyIX фикс согласно комментариев 5f19f15

Comment thread src/stories/components/slider/slider.stories.ts
@AxyIX AxyIX merged commit 1597ee2 into feature/styles-debug Apr 14, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants