fix(tabs): touch swipe on tab-items doesn't update the tab value (#2396)

This commit is contained in:
capdiem
2025-05-08 11:47:01 +08:00
parent 31ee3f9b67
commit d06774fae5
9 changed files with 20 additions and 15 deletions

View File

@@ -18,7 +18,7 @@
<ExtensionContent>
<MTabs
@bind-Value="tabs"
@bind-Value="tab"
FixedTabs>
<MTab
Value="@("mobile-tabs-5-1")"
@@ -41,7 +41,7 @@
</ExtensionContent>
</MToolbar>
<MTabsItems Value="tabs">
<MTabsItems @bind-Value="tab">
@foreach (var item in Enumerable.Range(1, 3))
{
<MTabItem
@@ -56,7 +56,7 @@
@code {
StringNumber tabs;
StringNumber tab;
string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.";

View File

@@ -18,7 +18,7 @@
<ExtensionContent>
<MTabs
@bind-Value="tabs"
@bind-Value="tab"
Centered>
@foreach (var item in Enumerable.Range(1, 3))
{
@@ -30,7 +30,7 @@
</ExtensionContent>
</MToolbar>
<MTabsItems Value="tabs">
<MTabsItems @bind-Value="tab">
<MTabItem>
<MCard Flat>
<MCardText>
@@ -79,5 +79,5 @@
@code {
StringNumber tabs;
StringNumber tab;
}

View File

@@ -21,7 +21,7 @@
</MTabs>
<MCardText Class="text-center">
<MTabsItems Value="@_tabValue">
<MTabsItems @bind-Value="@_tabValue">
@foreach (var tab in _tabs)
{
<MTabItem @key="tab" Value="tab">

View File

@@ -13,7 +13,7 @@
}
</MTabs>
<MTabsItems Value="@tab">
<MTabsItems @bind-Value="@tab">
@foreach (var item in items)
{
<MTabItem Value="@item">

View File

@@ -21,7 +21,7 @@
</MTab>
</MTabs>
<MTabsItems Value="tab">
<MTabsItems @bind-Value="tab">
@foreach (var item in Enumerable.Range(0, 3))
{
<MTabItem>

View File

@@ -68,7 +68,7 @@
</ExtensionContent>
</MToolbar>
<MTabsItems Value="currentItem">
<MTabsItems @bind-Value="currentItem">
@foreach (var item in items.Concat(more))
{
<MTabItem Value="item">

View File

@@ -1,6 +1,6 @@
<MCard>
<MTabs
@bind-Value="tab"
@bind-Value="value"
BackgroundColor="primary"
Dark>
@foreach (var (tab, _) in items)
@@ -11,7 +11,7 @@
}
</MTabs>
<MTabsItems Value="tab">
<MTabsItems @bind-Value="value">
@foreach (var (tab, content) in items)
{
<MTabItem Value="tab">
@@ -25,7 +25,7 @@
@code {
StringNumber tab;
StringNumber value;
List<(string tab, string content)> items = new()
{

View File

@@ -31,9 +31,9 @@
@ChildContent
</MTabsBar>
@if (TabItems.Any())
@if (TabItems.Count > 0)
{
<MWindow Value="Value">
<MWindow Value="Value" ValueChanged="@ValueChanged">
@foreach (var tabItem in TabItems)
{
<MWindowItem Value="@tabItem.Value"

View File

@@ -62,6 +62,11 @@ public partial class MWindow : MItemGroup
private void UpdateInternalIndex()
{
InternalIndex = Items.FindIndex(item => item.Value == InternalValue);
if (_prevInternalIndex == InternalIndex)
{
return;
}
IsReverse = UpdateReverse(InternalIndex, _prevInternalIndex);
_prevInternalIndex = InternalIndex;
}