-
-
Notifications
You must be signed in to change notification settings - Fork 368
Closed
Description
Is there an existing issue for this?
- I have searched the existing issues
Describe the bug
<Select IsPopover="true" IsDisabled="sSelectIsDisabled"
TValue="string" Items="sSelectItems"
@bind-Value="sSelectedValue"
OnSelectedItemChanged="sSelect_OnSelectedItemChanged" Color="Color.Dark" />
在后台代码中
sSelectedItems=[];
sSelectedItems.Add(new SelectedItem
{
Text = "T1",
Value = "T1"
});
sSelectedValue=null;//不触发OnSelectedItemChanged
sSelectItems.Clean();
sSelectedItems.Add(new SelectedItem
{
Text = "T1",
Value = "T1"//如果这里跟上面的不一样,则sSelectedValue = sSelectedItems.First();会触发
});
sSelectItems.Add..一组新的,但第一个选项的文本值,和置为null之前的一样.
sSelectedValue = sSelectedItems.First();//不触发OnSelectedItemChanged
(如果第一个选项的文本值,和置为null之前的不一样,会触发OnSelectedItemChanged)
我看Select的代码判定是否触发OnSelectedItemChanged有个内部变量_lastSelectedValueString
但无论是将Value置为null还是清空Items的时候都不会改变这个_lastSelectedValueString,值依然维持在第一次选择后
Expected Behavior
Value置为null时清空上次选择的记忆,或者给个选项能够清空。
Interactive render mode
Interactive Server (Interactive server-side rendering (interactive SSR) using Blazor Server)
Steps To Reproduce
<Select IsPopover="true" IsDisabled="sSelectIsDisabled"
TValue="string" Items="sSelectItems"
@bind-Value="sSelectedValue"
OnSelectedItemChanged="sSelect_OnSelectedItemChanged" Color="Color.Dark" />
在后台代码中
sSelectedItems=[];
sSelectedItems.Add(new SelectedItem
{
Text = "T1",
Value = "T1"
});
.......
sSelectedValue=null;//不触发OnSelectedItemChanged
sSelectItems.Clean();
sSelectedItems.Add(new SelectedItem
{
Text = "T1",
Value = "T1"//如果这里跟上面的不一样,则sSelectedValue = sSelectedItems.First();会触发
});
sSelectItems.Add.....一组新的,但第一个选项的文本值,和置为null之前的一样.
sSelectedValue = sSelectedItems.First();//不触发OnSelectedItemChanged
(如果第一个选项的文本值,和置为null之前的不一样,会触发OnSelectedItemChanged)
我看Select的代码判定是否触发OnSelectedItemChanged有个内部变量_lastSelectedValueString
但无论是将Value置为null还是清空Items的时候都不会改变这个_lastSelectedValueString,值依然维持在第一次选择后
Exceptions (if any)
No response
.NET Version
NET9.0
Anything else?
No response
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working