Vi använder kakor (cookies) för att webbplatsen ska fungera så bra som möjligt för dig.
Vi använder också kakor för webbanalys för att göra webbplatsen bättre.
Godkänner du att vi också använder kakor för webbanalys?
Datamändgredigeraren används för att erbjuda användare funktionerna "lägg till", "ändra" och "ta bort" i en datamängd.
Komponenten ansvarar inte för hur datamängden och åtgärderna "lägg till", "ändra" och "ta bort" presenteras.
Vanligtvis används lista eller tabell för presentation men kan även vara egenutvecklad.
Använd propen beforeCreate med en callback som returnerar ett objekt för att förpopulera data som ska läggas till.
Callback anropas innan modalen visas.
Texterna i modaler kan anpassas för att bättre beskriva vad som läggs till, ändras eller tas bort genom att använda props. Även texten för "lägg till"-knapp kan ändras via slot add-button.
<template><f-crud-datasetv-model="fruits":before-create="beforeCreate"add-new-modal-header="Lägg till ny frukt"modify-modal-header="Ändra land"delete-modal-header="Vill du ta bort frukten?"
@created="saveModel"
@updated="saveModel"
@deleted="saveModel"
><template #default><f-list:items="fruits"element-id="example"key-attribute="id"><template #default="{ item }"><divclass="row"><divclass="col col--lg-7 col--md-6"><h3>{{ item.name }}</h3><p>
Land:
<em> {{ item.origin }} </em><br />
Beskrivning:
<em> {{ item.description }} </em><br /></p></div><divclass="col col--lg-5 col--md-6"><divclass="row row--align-end"><divclass="col"><f-crud-buttonaction="modify":item="item"iconlabel /></div><divclass="col"><f-crud-buttonaction="delete":item="item"iconlabel /></div></div></div></div></template><template #screenreader="{ item }"> Frukt ID {{ item.id }} </template></f-list></template><template #add-button> Lägg till ny <spanclass="sr-only"> frukt </span></template><template #add="{ item }"><f-text-fieldv-model="item.name"v-validation.required.maxLength="{ maxLength: { length: 32 } }"type="text"
>
Namn
</f-text-field><f-text-fieldv-model="item.origin"v-validation.required.maxLength="{ maxLength: { length: 32 } }"type="text"
>
Land
</f-text-field><f-textarea-fieldv-model="item.description"v-validation.required>
Beskrivning
</f-textarea-field></template><template #modify="{ item }"><f-static-fieldv-model="item.name"type="text"><template #label> Namn </template><template #default> {{ item.name }}</template></f-static-field><f-textarea-fieldv-model="item.origin"v-validation.required.maxLength="{ maxLength: { length: 32 } }"type="text"
>
Land
</f-textarea-field></template><template #delete="{ item }">
Vill du verkligen ta bort frukten "{{ item.name }}" med ID {{ item.id }}
</template></f-crud-dataset></template><scriptlang="ts">import { defineComponent } from"vue";
import {
type UnknownItem,
FCrudDataset,
FCrudButton,
FList,
FStaticField,
FTextField,
FTextareaField,
} from"@fkui/vue";
import { type FruitData, fruits } from"./fruit-data";
exportdefaultdefineComponent({
name: "ExampleApp",
components: {
FCrudDataset,
FCrudButton,
FList,
FStaticField,
FTextField,
FTextareaField,
},
data() {
return {
fruits,
};
},
methods: {
// Förpopulera ett objekt med värdenbeforeCreate(): UnknownItem {
constfruit: FruitData = {
id: String(this.getMaxId() + 1),
name: "",
origin: "",
description: "",
};
return fruit as unknown asUnknownItem;
},
getMaxId() {
returnthis.fruits.reduce((max, item) => {
returnMath.max(max, parseInt(item.id, 10));
}, 0);
},
saveModel(row: FruitData) {
console.log("Post model to backend", row);
},
},
});
</script>
The list of items that should be deleted, modified or added to.
If the prop is not set an empty array will be used.
ListArray<ListItem>
false
() => []
beforeCreate
A function that returns an item to the #add template. Can be used to populate data that the user should not input themself e.g. an id.
Or to give the user suggestions for inputs. If the prop is not used an empty item will be returned.
(() => ListItem) | undefined
false
undefined
primaryButtonRight
If true the primary button in the modals will be placed to the right side instead of to the left.
boolean
false
false
beforeSubmit
If given, this function is called before the [[submit]] event is emitted.
See <f-validation-form> beforeSubmit props for more info.
FValidationFormCallback
false
function() {
/* do nothing */
}
beforeValidation
If given, this function is called before the form data is validated and the [[submit]] event is emitted.
See <f-validation-form> beforeValidation props for more info.
FValidationFormCallback
false
function() {
/* do nothing */
}
onCancel
If given, this function is called after the modal has been closed.
() => void
false
function() {
return undefined;
}
addNewModalHeader
Property for changing the "add new" modal heading
string
false
TranslationService.provider.translate("fkui.crud-dataset.modal.header.add", "Lägg till rad")