Comments (6)
Have you tried calling StateHasChanged()
to inform the user interface of these changes?
I don't think this is related to FluentSelect
.
from fast-blazor.
I have just added the StateHasChanged calls to the sample code ... but just like in my own code the problem persists ... on the page I created there are instructions on how to replicate. Let me know if you have issues!
from fast-blazor.
After all the testing I went thru yesterday trying to understand what was happening ... as I was having breakfast just now it occurred to me ...
This is the code I'm using to render the select control
<FluentSelect TOption="TestEnum01" ValueChanged="(newValue) => item.TestEnum01 = Enum.Parse<TestEnum01>(newValue)"> @foreach (var value in Enum.GetValues(typeof(TestEnum01))) { <FluentOption Value="@value.ToString()">@value.ToString()</FluentOption> } </FluentSelect>
if the control is never removed out of view, the code associated with ValueChanged doesn't really get updated (it seems) ... and references to old data are still referenced by the function.
It may not be FluentSelect's fault but it feels like some sort of problem in the rendering engine of the platform ... anyways ... this is the best I've come up with to explain the behavior.
from fast-blazor.
After all the testing I went thru yesterday trying to understand what was happening ... as I was having breakfast just now it occurred to me ...
This is the code I'm using to render the select control
<FluentSelect TOption="TestEnum01" ValueChanged="(newValue) => item.TestEnum01 = Enum.Parse<TestEnum01>(newValue)"> @foreach (var value in Enum.GetValues(typeof(TestEnum01))) { <FluentOption Value="@value.ToString()">@value.ToString()</FluentOption> } </FluentSelect>
if the control is never removed out of view, the code associated with ValueChanged doesn't really get updated (it seems) ... and references to old data are still referenced by the function.
It may not be FluentSelect's fault but it feels like some sort of problem in the rendering engine of the platform ... anyways ... this is the best I've come up with to explain the behavior.
Have you tried:
@code {
public enum TestEnum01
{
Hello, World
}
private IEnumerable<TestEnum01> _items = Enum.GetValues<TestEnum01>();
private TestEnum01 _selectedEnumValue;
}
<FluentSelect TOption="TestEnum01"
Items="_items"
@bind-SelectedOption="_selectedEnumValue"
@bind-SelectedOption:after="StateHasChanged" />
from fast-blazor.
ApacheTec
I updated my repo ... and yes, your suggestion is simpler and it works! Thanks!
I still think that this
<FluentSelect TOption="TestEnum01" ValueChanged="(newValue) => item.TestEnum01 = Enum.Parse<TestEnum01>(newValue)"> @foreach (var value in Enum.GetValues(typeof(TestEnum01))) { <FluentOption Value="@value.ToString()">@value.ToString()</FluentOption> } </FluentSelect>
should NOT generate code that breaks the UI between one user action and the next.
from fast-blazor.
Closing this as a working solution is provided (thanks @ApacheTech )
Im not sure if the last example is more s Blazor thing than a specific Fluent issue. Had to do with the foreach and using its iterator inside the loop.
from fast-blazor.
Related Issues (20)
- feat: add OnKeyUp in FluentKeyCode HOT 1
- docs: add some guidance to configure RTL mode HOT 3
- feat: add multi-column to/in combobox HOT 2
- feat: add [required] to [Label] HOT 3
- Maximum call stack size exceeded when using FluentDesignSystemProvider and a FluentCard HOT 2
- feat: [DataGrid] Deselect all other items when row is clicked (not checkbox) HOT 4
- FluentCheckbox issue HOT 1
- Tree component HOT 2
- Fluent Blazor Web App bogus focus on first body element HOT 4
- fix: Circular constraint dependency involving 'Icon' and 'Icon' in FluentIcon HOT 2
- fix: Interactive Search - NoMatch exception
- fix: expanding & collapsing in FluentNavMenu HOT 2
- fix: navigation does not expand when navigating through the page by bookmark or link HOT 1
- Weather sample page regenerates data on sort HOT 1
- fix: FluentValidationMessage won't show message for an empty FluentTextArea component. HOT 5
- RefreshDataAsync ignored with Virtualize=true HOT 2
- fix: Cannot control the Value of a FluentTextField or a FluentTextArea. HOT 4
- fix: [FluentNumberField Required validation error?] in [EditForm?] HOT 1
- DataGrid: add access to columns HOT 2
- fix: Popups/dropdowns not displaying in FluentProfileMenu and other places HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fast-blazor.