Всем привет!
<script lang="ts">
import {
defineComponent,
useContext,
ref,
useFetch,
} from '@nuxtjs/composition-api'
export default defineComponent({
setup() {
const orders = ref([])
const { $axios, $swal } = useContext() as any
useFetch(async () => {
await $axios.$get(`/v1/admin/orders`).then((response: any) => {
orders.value = response.data
})
})
function deleteItem(data: any) {
$swal({
toast: false,
title: 'Удалить?',
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#212E40',
cancelButtonColor: '#d33',
confirmButtonText: 'Да',
cancelButtonText: 'Отмена',
position: 'center',
showConfirmButton: true
}).then((result: any) => {
if (result.value) {
$axios
.$delete(`/v1/admin/orders/${data.orderId}`)
.then((response: any) => {
$swal({
timerProgressBar: true,
icon: 'success',
title: response.message,
didOpen: (toast: any) => {
toast.addEventListener('mouseenter', $swal.stopTimer)
toast.addEventListener('mouseleave', $swal.resumeTimer)
},
})
orders.value.splice(data.index, 1)
})
.catch((error: any) => {
switch (error.response.data.status) {
case 422:
$swal({
timerProgressBar: true,
icon: 'error',
title: error.response.data.message,
didOpen: (toast: any) => {
toast.addEventListener('mouseenter', $swal.stopTimer)
toast.addEventListener(
'mouseleave',
$swal.resumeTimer
)
},
})
break
default:
$swal({
timerProgressBar: true,
icon: 'error',
title: error.response.data.message,
didOpen: (toast: any) => {
toast.addEventListener('mouseenter', $swal.stopTimer)
toast.addEventListener(
'mouseleave',
$swal.resumeTimer
)
},
})
}
})
}
})
}
return { orders, deleteItem }
},
})
</script>
может кто сталкивался, при удалении элементов по key всегда удаляет последний элемент, все сверил data.index совпадает c index массива orders но удаляет последний всегда