Bekräftelsemodal
- Komponent
-
FConfirmModal
- Status
-
Produktionsklar
Använd en bekräftelsemodal när användare har gjort ett val som har stor påverkan och som hen inte kan ångra enkelt.
En bekräftelsemodal har
- rubriktext
- brödtext
- en knapptext för den destruktiva handlingen, till exempel för att ta bort uppgifter
- en knapptext för att ångra och gå tillbaka.
Användning
För att öppna en bekräftelsemodal använder du confirmModal()
(options API) eller useModal()
(composition API).
// options api
const confirmed = await confirmModal(this, {
heading: "Ta bort frukt",
content: `Är du säker att du vill ta bort "${frukt.namn}"?`,
confirm: "Ja, ta bort",
dismiss: "Nej, behåll",
});
if (confirmed) {
/* do something */
}
// composition api
const { confirmModal } = useModal();
async function onOpen(): Promise<void> {
const confirmed = await confirmModal({
heading: "Ta bort frukt",
content: `Är du säker att du vill ta bort "${frukt.namn}"?`,
confirm: "Ja, ta bort",
dismiss: "Nej, behåll",
});
if (confirmed) {
/* do something */
}
}
Användning med template (deprekerad)
Att använda FConfirmModal
i template är deprekerat.
Om du använder detta rekommenderar vi att du tar bort f-confirm-modal
och istället använder API för att öppna modalen.
Se Användning
för hur du använder FConfirmModal
med API.
<template>
<div>
<button type="button" @click="onClick">Open modal</button>
- <f-confirm-modal></f-confirm-modal>
</div>
</template>
Knapparna
En sekundär knapp används för att ångra och gå tillbaka. En primärknapp används för att utföra den destruktiva handlingen.
En bekräftelsemodal kan även ha en tredje knapp.
Placering av knapparna
På Försäkringskassan.se placeras den sekundära knappen först, följt av den primära. Eftersom det primära alternativet att bekräfta tidigare val är "destruktivt" placeras den sist för att minimera risken att användaren råkar välja det av misstag.
För interna system följer vi Windows standard, det primära alternativet placeras först.
Du styr den inbördes ordning som knapparna presenteras i med konfiguration i applikationen där modalen används.
Bekräftelsemodal med tre knappar
Skärmläsare
Du kan lägga till extra skärmläsartext på knappar med screenreader
-property:
-buttons: [{ label: "Stäng", event: "dismiss" }];
+buttons: [{ label: "Stäng", screenreader: "formuläret", event: "dismiss" }];
Om du använder screenreader
för en knapp så kommer skärmläsare att läsa upp den texten efter knapptexten i label
. Detta används för att tydliggöra vad knappen kommer att göra i de fallen där det kan vara otydligt för skärmläsaranvändare.
API
Props
-
fullscreen: boolean
Optional -
Enable fullscreen mode in mobile.
Default:
false
-
isOpen: boolean
Optional -
Prop for opening modal
Default:
false
-
content: string
Optional -
Simple text content
Default:
"Brödtext"
-
heading: string
Optional -
Simple text header
Default:
"Rubrik"
-
size: string
Optional -
The size of modal. 'large' and 'fullscreen' is valid.
Default:
""
-
ariaCloseText: string
Optional -
The aria-label attribute text for the top right close button.
Default:
undefined
-
buttons: FModalButtonDescriptor[]
Optional -
List of buttons
Default:
(): FModalButtonDescriptor[] => { return defaultButtons; }
-
focus: string
Optional -
Default behavior is that the modal will restore focus to previous element once closed.
- "on" (default) - component will set focus both when opened and closed
- "off" - focus strategy disabled
- "open" - focus will only be applied once modal is opened
Default:
"on"
Events
-
close
-
Emits reason for closing modal
Arguments:
<anonymous>: undefined
-
button.event
-
Emits specified button event when clicked