[Bug]: fluent-slider initial value is not submitted with the form
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 76/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript, web-dev
- Domain
- frontend, full-stack
Research direction
Find the fluent-slider implementation and its form value setup, especially initialValueChanged() and setupDefaultValue() described in the issue. Trace how the initial value attribute is handled before connection and compare it with the native range input behavior. Reproduce with the linked example and verify that FormData includes level before the slider is moved.
Written by the indexing model from the issue text.
Description
Component
Slider
Package version
3.1.3
@microsoft/fast-element version
3.0.4
Environment
OS: Windows 11
Browsers: Microsoft Edge 155 (Chromium 155)
npmPackages:
@fluentui/web-components: 3.1.3
@microsoft/fast-element: 3.0.4
Current Behavior
When <fluent-slider> is rendered with a value attribute (e.g. server-rendered HTML), slider.value returns that value, but the form value is never set. The slider is missing from the submitted form data until its value is changed.
The value attribute is applied before the element is connected, so initialValueChanged only sets _value. Then setupDefaultValue() skips the value setter because _value is already set, so setFormValue() is never called:
setupDefaultValue() {
if (!this._value) {
this.value = this.initialValue ?? this.midpoint;
}
// ...
}
Expected Behavior
The initial value is submitted with the form, like <input type="range" value="7">.
Reproduction
https://oonoobmasteroo.github.io/fluent-slider-form-value/ (source: https://github.com/oONoobMasterOo/fluent-slider-form-value)
Steps to reproduce
- Open the reproduction:
<form id="form">
<fluent-slider name="level" min="0" max="10" value="7"></fluent-slider>
<input name="native" type="range" min="0" max="10" value="7">
<button type="button" id="check">Show FormData</button>
</form>
<pre id="out"></pre>
<script type="module">
import "https://cdn.jsdelivr.net/npm/@fluentui/[email protected]/dist/web-components.min.js";
document.getElementById("check").addEventListener("click", () => {
const slider = document.querySelector("fluent-slider");
const data = Object.fromEntries(new FormData(document.getElementById("form")));
document.getElementById("out").textContent = JSON.stringify({ sliderValue: slider.value, formData: data }, null, 2);
});
</script>
- Click Show FormData.
sliderValueis"7", butformDataonly containsnative:{ "native": "7" }.- Move the slider (or set
slider.valuefrom script) and click again:levelis now informData.
Are you reporting an Accessibility issue?
no
Suggested severity
Medium - Has workaround
Products/sites affected
Fluent UI Blazor (FluentSlider in statically rendered forms)
Are you willing to submit a PR to fix?
yes
Validations
- Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
- The provided reproduction is a minimal reproducible example of the bug.
- Dominant language
- TypeScript
- Stars
- 20.3k
- Forks
- 2.9k
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 53
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/fluentui
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
[Docs]: Customizing components with slots - bad urlPossibly taken @Avanti-27 claimed this 3 days ago. OpenArea: Documentation
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
microsoft/fluentui#36903 · 1 comment ·
Maintainers usually reply within 1 day
-
@fluentui/web-components: fluent-menu-list loses its arrow keys after it is moved in the DOM (Firefox, Safari)Possibly taken @asxxb claimed this 7 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
[Feature]: export getHashCode for Avatar from avatar.ts for Fluentv8 PersonaInitialsColor / PersonaCoin supportPossibly taken @ValentinaKozlova claimed this 20 days ago. OpenComponent: Avatar Fluent UI react-components (v9) From Shield Needs: Backlog review Type: Feature
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
microsoft/fluentui#36802 · 1 assignee ·
Maintainers usually reply within 1 day
-
[Bug]: WeeklyDayPicker showing incorrect week number when navigating to different weeksPossibly taken @Sanjays2402 claimed this 38 days ago. OpenComponent: CalendarDayGrid Component: WeeklyDayPicker Fluent UI react (v8) Type: Bug :bug:
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
microsoft/fluentui#36721 · 2 comments ·
Maintainers usually reply within 1 day
All issues in microsoft/fluentui
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
jessepollak/home#2223 ·
Maintainers usually reply within 1 day
-
grep fixture corpus test follows the corpus's loop symlink under the receipt runner (fails on main)Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
code-yeongyu/senpi#3756 ·
Maintainers usually reply within 1 day
-
org:external package:deepagents priority:triage topic:memory topic:middleware type:bug
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
langchain-ai/deepagents#7059 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
osmlab/name-suggestion-index#12992 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
hemilabs/ui-monorepo#2506 ·
Maintainers usually reply within 1 day