Я использую LDS для загрузки записи учетной записи. я хочу добавить новые комментарии с новой строкой к существующим комментариям для моего textarea(long) field в записи учетной записи. я использовал \n и `\r\n' ни один из них не работает для меня. новый комментарий добавлен в конец существующих комментариев. есть работа вокруг. Смп

<aura:component controller="SeTesting" implements="force:appHostable,flexipage:availableForAllPageTypes,force:hasRecordId,flexipage:availableForRecordHome,forceCommunity:availableForAllPageTypes" 
        access="global" >
<aura:attribute name="addingcomments" type="String"/>
 <aura:attribute name="record" type="Object"/>
<aura:attribute name="accfields" type="List" default="['Name','Comments__c']"></aura:attribute>
<aura:attribute name="recordSaveError" type="String"/>
<force:recordData aura:id="Accrecord"
                  recordId="{!v.recordId}"
                  layoutType="FULL"                      
                  fields="{!v.accfields}"
                  targetFields="{!v.record}"
                  mode="EDIT"
                  targetError="{!v.recordSaveError}"
                  recordUpdated="{!c.recordUpdataction}"
                  />
<lightning:textarea aura:id="verifyhswNoselection" 
                                        required="true"
                                        label="Comments"
                                        value="{!v.addingcomments}"
                                        class="slds-col slds-size_1-of-3 slds-p-horizontal_x-small">
</lightning:textarea>
<lightning:button variant="brand" onclick="{!c.addnewcomment}"/>

контроллер:

({
  addnewcomment : function (component,event,helper){
    var accrecord = component.get("v.record");
    var newcoments = component.get("v.addingcomments"),
        existingdesc = accrecord.Comments__c,
        todaydt = new Date(),
        existingdesc = (!$A.util.isEmpty(existingdesc)) ? existingdesc + '\n' + newcoments+'--' +todaydt.toLocaleString()+';' : newcoments+'--' +todaydt.toLocaleString()+';';
    accrecord.Comments__c = existingdesc;
    console.log(existingdesc);
    component.set("v.record",accrecord);
      component.find("Accrecord").saveRecord($A.getCallback(function(saveResult) {
        if (saveResult.state === "SUCCESS" || saveResult.state === "DRAFT") {
             // record is saved successfully
             self.showStatusToast(component,succmessage,"success");
            $A.get("e.force:refreshView").fire();
            
        }else if(saveResult.state === "INCOMPLETE"){
             self.showStatusToast(component,'error occured',"error");
        }else if(saveResult.state === "ERROR"){
            self.showStatusToast(component,'error occured',"error");
            
        }
    }));
},

})

enter image description here

2
Community 15 Июн 2020 в 11:11

1 ответ

@ sdandamud1 Я пытался использовать код в начальном вопросе. Поле текстовой области отлично обновляется вместе с разрывами строк. Я добавил изображения вывода в двух сценариях

  1. Когда в поле есть текст(исходный комментарий) и мы добавляем комментарий от компонента

When there is text in the field and we add comment from the component

2.Когда в поле нет текста и добавляем комментарий от компонента.

When there is no text in the field and we add comment from the component

Можете ли вы проверить, находится ли поле Comments__c в макете, потому что это поле либо должно быть в макете, либо вы должны объявить список полей в атрибуте компонента, чтобы LDS мог получить данные.

0
samdev 18 Ноя 2019 в 22:36
Я добавил поле comment__c в ` fields="{!v.filesList}"`, хотя оно у меня не работает, какой у вас тип поля в Salesforce?
 – 
sdandamud1
18 Ноя 2019 в 23:53
Это длинное поле текстовой области. можете ли вы поделиться кодом компонента после добавления атрибута fieldsList?
 – 
samdev
19 Ноя 2019 в 00:23
Обновил мой вопрос
 – 
sdandamud1
19 Ноя 2019 в 00:27
Можете ли вы добавить изображение вывода для «console.log(existingdesc);» в вашем контроллере? Как это выглядит? у него есть разрыв строки?
 – 
samdev
19 Ноя 2019 в 00:46
Console.log(existingdesc) выдается отдельными строками, но после рендеринга пользовательского интерфейса все комментарии отображаются в одной строке. обновленное изображение с console.log(existingdesc);
 – 
sdandamud1
19 Ноя 2019 в 01:00