Создание настраиваемой таблицы данных в Salesforce, позволяющей редактировать поле времени

#salesforce #apex #salesforce-lightning

Вопрос:

Я создаю пользовательский компонент lightning-datatable, в котором я хочу отобразить некоторые поля из созданного мной пользовательского объекта. Одно из отображаемых полей, Start_Time__c, имеет тип Time.

Я понял из документации, что для отображения этого поля мне нужно использовать тип «дата» в определении столбца в 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(() =gt; {  this.dispatchEvent(  new ShowToastEvent({  title: 'Success',  message: 'Contact updated',  variant: 'success'  })  );   // Display fresh data in the datatable  return refreshApex(this.agendaItems).then(() =gt; {  // Clear all draft values in the datatable  this.draftValues = [];  });  }).catch(error =gt; {  this.dispatchEvent(  new ShowToastEvent({  title: 'Error updating or reloading record',  message: error.body.message,  variant: 'error'  })  );  });  

Когда я пытаюсь сохранить, я получаю эту ошибку: Значение для поля «Время начала__c» не соответствует формату ISO 8601, Значение: 1970-01-01T15:00:00.000 Z, Класс выполнения: java.lang.Строка»

Я бы предположил, что передача значения, которое я получаю из таблицы данных, когда поле было отредактировано, должна работать, так как я просто передаю обновленные поля из события сохранения.

Как мне правильно обработать это поле времени (которое вводится как дата-время из-за того, что datatable поддерживает только тип даты)?