【发布时间】:2023-02-02 20:05:21
【问题描述】:
我正在创建一个自定义闪电数据表组件,我想在其中显示我创建的自定义对象的一些字段。要显示的其中一个字段 Start_Time__c 属于时间类型。
我从文档中发现要显示此字段,我需要在 lightning-datatable 中的列定义中使用类型“日期”(如果我在这里错了请告诉我,还有更好的方法来显示时间)。
我的一切都显示正常,并且可以更新我的代码以允许 Start_Time__c 列可编辑。
问题是当我实际编辑包含开始时间的单元格时尝试保存时出现错误。
我的保存处理程序看起来像这样(主要从文档中复制):
const fields = {};
fields[ID_FIELD.fieldApiName] = event.detail.draftValues[0].Id;
fields[START_TIME.fieldApiName] = event.detail.draftValues[0].Start_Time__c;
const recordInput = {fields};
updateRecord(recordInput).then(() => {
this.dispatchEvent(
new ShowToastEvent({
title: 'Success',
message: 'Contact updated',
variant: 'success'
})
);
// Display fresh data in the datatable
return refreshApex(this.agendaItems).then(() => {
// Clear all draft values in the datatable
this.draftValues = [];
});
}).catch(error => {
this.dispatchEvent(
new ShowToastEvent({
title: 'Error updating or reloading record',
message: error.body.message,
variant: 'error'
})
);
});
当我尝试保存时,出现此错误: 字段“Start_Time__c”的值不是 ISO 8601 格式,值:1970-01-01T15:00:00.000Z,运行时类:java.lang.String”
我假设在编辑字段时传递我从数据表返回的值应该有效,因为我只是从保存事件传递更新的字段。
我如何正确处理这个时间字段(由于数据表仅支持日期类型,它作为 DateTime 出现)?
【问题讨论】:
标签: salesforce apex salesforce-lightning