You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
827 B
45 lines
827 B
<template>
|
|
<Chip
|
|
:image="value[imageField]"
|
|
:label="value[labelField]"
|
|
:removable="isRemovable"
|
|
@remove="$emit('remove', value)"
|
|
>
|
|
<template #removeicon="{ removeCallback, keydownCallback }">
|
|
<BaseIcon
|
|
icon="close"
|
|
class="p-icon p-chip-remove-icon"
|
|
@click="removeCallback"
|
|
@keydownk="keydownCallback"
|
|
/>
|
|
</template>
|
|
</Chip>
|
|
</template>
|
|
|
|
<script setup>
|
|
import Chip from "primevue/chip";
|
|
import BaseIcon from "./BaseIcon.vue"
|
|
|
|
defineProps({
|
|
value: {
|
|
type: Object,
|
|
required: true,
|
|
},
|
|
labelField: {
|
|
type: String,
|
|
required: true,
|
|
},
|
|
imageField: {
|
|
type: String,
|
|
required: false,
|
|
default: null,
|
|
},
|
|
isRemovable: {
|
|
type: Boolean,
|
|
required: false,
|
|
default: false,
|
|
},
|
|
});
|
|
|
|
defineEmits(["remove"]);
|
|
</script>
|
|
|