示例
以下代码:
@code {
decimal abc = 0;
decimal bcd = 0;
void AbcChanged(object val)
{
bcd = abc;
}
}
abc: @abc
bcd: @bcd
<MudSlider @bind-Value="@abc" onmousemove="@AbcChanged"></MudSlider>结果如下所示的设置:

拖动滑块时,将更新abc和bcd。
问题
如果您拖拽滑块的速度非常快,有时bcd并不等于abc。
也就是说。

问题
确保bcd始终与abc同步的好方法是什么?
实例化
https://try.mudblazor.com/snippet/GOmmOVdbqXnHASxU
更新设置onmousemove和onchange
如果我同时设置onmousemove和onchange
<MudSlider @bind-Value="@abc" onmousemove="@AbcChanged" onchange="@AbcChanged"></MudSlider>情况有所改善。当我释放鼠标按钮时,bcd被设置为abc。
但是,在按住按钮并拖动时,仍然有可能使它们不同步:

更新的小提琴:
https://try.mudblazor.com/snippet/wawcOBxFhbOcPacd
更新2
我以一种与这里的问题不太相关的方式解决了这个问题。
所以这个问题的答案不是必需的。不过,如果有人觉得这个问题很有趣,我就不提这个问题了。
发布于 2022-08-01 07:50:40
试试这个:
@code {
private decimal ABC {
get => abc;
set {
abc=value;
bcd=value;
}
}
private decimal abc {get;set;} = 0;
private decimal bcd {get;set;} = 0;
}
abc: @abc
bcd: @bcd
<MudSlider @bind-Value="@ABC" ></MudSlider>https://stackoverflow.com/questions/73186298
复制相似问题