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 {
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(): FruitData {
return {
id: String(this.getMaxId() + 1),
name: "",
origin: "",
description: "",
};
},
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>
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.
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.
Slot for inputs when creating a new item. The new item is available through v-slot="{ item }". If any data in the item should be set not by the user the prop beforeCreate can be used to set that data.
Bindings:
item: T— Item returned by beforeCreate or an empty object.