fix: Cannot reopen dialog after closing with escape key in FluentDialog
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
Direzione di ricerca
Inizia da FluentDialog.OnToggleAsync e ispeziona la condizione che confronta args.Id con Instance?.Id; l’issue fornisce il confronto proposto con Id. Riproduci il problema con l’esempio FluentDialog basato sul markup, chiudilo con Escape e verifica che venga attivato l’evento OnStateChange e che la finestra di dialogo possa essere riaperta con ShowAsync.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
🐛 Bug Report
When a FluentDialog is instantiated from markup instead of DialogService, FluentDialog.OnToggleAsync ignores the toggle event. This happens because id doesn't match Instance?.Id because Instance is only set for dialogs launched through DialogService.
💻 Repro or Code Sample
@page "/dialog-repro"
<FluentButton OnClick="OpenAsync">Open dialog</FluentButton>
<p>OnStateChange events: @(_events.Count == 0 ? "(none)" : string.Join(", ", _events))</p>
<FluentDialog @ref="_dialog" OnStateChange="OnStateChange">
<FluentDialogBody>
<TitleTemplate>Repro</TitleTemplate>
<ChildContent>Press Escape to close this dialog.</ChildContent>
</FluentDialogBody>
</FluentDialog>
@code {
private FluentDialog? _dialog;
private readonly List<string> _events = new();
private Task OpenAsync() => _dialog!.ShowAsync();
private void OnStateChange(DialogEventArgs e) => _events.Add(e.State.ToString());
}
🤔 Expected Behavior
When I open a dialog, then close it using the escape key, I should be able to reopen it.
😯 Current Behavior
Instead, the dialog cannot be reopened.
💁 Possible Solution
Change the conditional
if (string.CompareOrdinal(args.Id, Instance?.Id) != 0)
to
``if (string.CompareOrdinal(args.Id, Id) != 0)`
I will create a PR that does this.
🔦 Context
It has caused a bug in my web application, but I was able to fix it with an ugly workaround.
🌍 Your Environment
- Mac OS on Macbook Pro (m1)
- Firefox, and Chrome (did not check others)
- .NET 10 and Fluent UI Blazor library Version 5.0.1
- Lingua principale
- C#
- Stelle
- 4.9k
- Fork
- 493
- Merge medio
- 1g 1h
- PR unite (30g)
- 78
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/fluentui-blazor
-
a11y
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
microsoft/fluentui-blazor#5546 ·
I maintainer di solito rispondono entro 1 giorno
-
[FluentTabs]: Screen reader does not announce the accessible name and role for the Delete Tab buttonApertaa11y
Difficoltà 2/5 Mezza giornata Idoneità per principianti 72/100
microsoft/fluentui-blazor#5540 ·
I maintainer di solito rispondono entro 1 giorno
-
a11y
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
microsoft/fluentui-blazor#5539 ·
I maintainer di solito rispondono entro 1 giorno
-
a11y
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
microsoft/fluentui-blazor#5538 ·
I maintainer di solito rispondono entro 1 giorno
-
a11y
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
microsoft/fluentui-blazor#5537 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di microsoft/fluentui-blazor
Issue simili
-
[Bug] Dashboard renders attachment links that resolve to 404 when the FILES binding is absentApertabug 優先: 低
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
-
.NET area: storage bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Larson-Logan/medal-sync#61 ·
I maintainer di solito rispondono entro 1 giorno
-
area-ai bug untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
dotnet/extensions#7893 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100