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.
Om knappens visuella text för "ändra" och "ta bort" inte tydligt identifierar raden från andra rader,
behöver knappen kompletteras med en text för skärmläsare.
Beroende på sammanhang kan även knappen för "lägg till ny" behöva kompletteras med en skärmläsartext,
som tydligör vad som läggs till.
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.
Standardinställningen för knappordningen i modalerna för "Lägg till" och "Ändra" är att primärknappen ligger först följt av sekundärknappen.
Standardinställningen för modalen "Ta bort" är att sekundärknappen ligger först följt av primärknappen.
Du kan ändra knappordningen för bekräftelsemodalen och därmed ändra knappordningen för modalen "Ta bort" genom inställning av buttonOrder i konfigurationen.
Rubriker i modaler kan anpassas antingen med textnycklar (standardtexter för alla datamängdredigerare) eller med propar (för en specifik datamängdredigerare):
Lägg till: textnyckel fkui.crud-dataset.modal.header.add eller prop addNewModalHeader.
Ändra: textnyckel fkui.crud-dataset.modal.header.modify eller prop modifyModalHeader.
Ta bort: textnyckel fkui.crud-dataset.modal.header.delete eller prop deleteModalHeader.
Knapptexter i modaler kan anpassas med textnycklar.
Lägg till: textnycklar fkui.crud-dataset.modal.confirm.add och fkui.crud-dataset.modal.cancel.add.
Ändra: textnycklar fkui.crud-dataset.modal.confirm.modify och fkui.crud-dataset.modal.cancel.modify.
Ta bort: textnycklar fkui.crud-dataset.modal.confirm.delete och fkui.crud-dataset.modal.cancel.delete.
Knappentexten för "Lägg till" kan anpassas med textnyckel fkui.crud-dataset.button.add eller slotten add-button.
Knapptexter för åtgärdsknappar kan anpassas med textnycklar eller med knappens default slot.
Ändra: textnyckel fkui.crud-button.modify eller default slot.
Ta bort: textnyckel fkui.crud-button.delete eller default slot.
<scriptlang="ts">import { defineComponent } from"vue";
import { FCrudDataset, FIcon, FList, FStaticField, FTextField, FTextareaField } from"@fkui/vue";
import { type FruitData, fruits } from"./fruit-data";
exportdefaultdefineComponent({
name: "ExampleApp",
components: {
FCrudDataset,
FIcon,
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><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="{ updateItem, deleteItem }"><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"><buttontype="button"class="button button--small button--tertiary"
@click="updateItem(item)"
><f-iconclass="button__icon"name="pen"></f-icon>
Ändra <spanclass="sr-only">{{ item.name }}</span></button></div><divclass="col"><buttontype="button"class="button button--small button--tertiary"
@click="deleteItem(item)"
><f-iconclass="button__icon"name="trashcan"></f-icon>
Ta bort <spanclass="sr-only">{{ item.name }}</span></button></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>
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.