【发布时间】:2019-08-15 18:42:07
【问题描述】:
我在使用 graphcool 和 apollo 客户端进行突变时遇到问题,在我的应用程序中,我有一个软删除类型的功能,用户单击删除,应用程序运行突变以仅更改名为的数据库上的一个字段deletedAt,默认为 null,但是当有一些数据时,它只会进入我应用程序的另一个选项卡。问题是,突变获取单击按钮的当前时间,应用该字段,但将所有其他字段设置为 null,从而在我的应用程序的其余部分引起一堆问题。但是,我不知道问题出在哪里,有人可以帮助我吗?
我在这里调用我的函数
const handleConfirm = async () => {
setDeleting(true)
try {
await updateEvent({ variables: { id: eventId, deletedAt: moment()}})
await dataList.refetch()
sendNotification(t({ id: 'deleted-event'}))
} catch (err) {
sendNotification(t({ id: 'failed-delete-event'}), 'error', err)
}
setDeleting(false)
setOpen(false)
}
这是我的突变
export default graphql(
gql`
mutation updateEvent(
$id: ID!
$canceled: Boolean
$offreId: ID
$vehiclesIds: [ID!]
$employeesIds: [ID!]
$deletedAt: DateTime
) {
updateEvent(
id: $id
canceled: $canceled
offreId: $offreId
vehiclesIds: $vehiclesIds
employeesIds: $employeesIds
deletedAt: $deletedAt
) {
id
canceled
vehicles {
id
name
plate
}
eventStuffs {
id
quantity
stuff {
id
name
}
}
deletedAt
offre {
id
showTotalBudgetsPdf
rev
version
name
maxPersons
minPersons
startTime
endTime
status
gmtOffset
client {
id
name
email
phone
address
clientContacts {
id
name
email
}
}
clientContact {
id
name
email
mobilePhone
phoneNumber
}
language
eventType {
id
name
}
place {
id
name
}
address
city
postalCode
sectionItems {
content
h
i
id
isDraggable
isResizable
maxH
maxW
minH
minW
moved
static
type
w
x
y
menu {
id
name
price
people
startDate
endDate
hasItemsCold
hasItemsHot
hasItemsZHot
hasItemsZCold
hasItemsDessert
kitchenNotes
comment
sections {
id
name
showPdf
itemProposals {
id
status
plats {
id
platTranslations {
id
name
language
description
internalDescription
}
}
}
}
}
}
budgetLines {
id
description
quantity
unitPrice
value
total
tax {
id
name
value
}
}
employeeEstimations {
id
estimatedEndAt
estimatedStartAt
number
pricePerHour
total
job {
id
name
}
}
}
}
}
`,
{
name: "updateEvent",
}
);
【问题讨论】: