Web Development Onboarding
Esimated Completion Date:
{rec.fields.CreatedDate.value}
Ich erstelle eine Lightning-Webkomponente, um Verk?uferdatens?tze im Zeitleistenkonzept zu visualisieren. Ich habe mit der kürzlich ver?ffentlichten API von Salesforce erfolgreich Zeitleistenkomponenten, Stile usw. erstellt und Daten abgerufen. Für weitere Informationen habe ich unten einen Link eingefügt. Ich bin ziemlich neu in JavaScript, also verzeihen Sie mir bitte, wenn es schwerwiegende Fehler gibt.
https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.reference_wire_adapters_get_lated_list_records
Das Problem entsteht dadurch, dass ich keine Ergebnisse erhalte, wenn ich die Daten abrufe und versuche, die Datens?tze basierend auf bestimmten Werten der Felder in verschiedene Sammlungen aufzuteilen. Ich verwende for:each in HTML, um meine Sammlung aufzurufen, aber es werden keine Datens?tze angezeigt.
Ich denke, das Problem liegt in der for-Schleife, die die Daten an die Sammlung anh?ngt, aber ich bin mir nicht sicher. Ich habe data[x]
更改為 this.records[x]
hinzugefügt und es führt zum gleichen Ergebnis. Ich freue mich über jeden Hinweis und freue mich über jede konstruktive Kritik.
Bitte beachten Sie, dass die Datens?tze angezeigt werden, wenn ich die von der API bereitgestellte Datensatzsammlung verwende.
Timeline.js
import { LightningElement,api, wire, track} from 'lwc'; import { getRelatedListRecords } from 'lightning/uiRelatedListApi'; export default class timeline extends LightningElement { @api recordId; @track CompletedTasks = []; @track InProgressTasks = []; @track OverdueTasks = []; error; records; @wire(getRelatedListRecords, { parentRecordId: '$recordId', relatedListId: 'Tasks__r', fields: ['Task__c.Id','Task__c.Name', 'Task__c.Estimated_Completion_Date__c', 'Task__c.Completion_Status__c'], sortBy: ['Task__c.Estimated_Completion_Date__c'], })listInfo({ error, data }) { if (data) { this.records = data.records; this.error = undefined; for (let x = 0; x < data.length; x++) { if (data[x].Completion_Status__c === "Completed") { this.CompletedTasks.append(data[x]); } else if (data[x].Completion_Status__c === "In Progress") { this.InProgressTasks.append(data[x]); } else if (data[x].Completion_Status__c === "Overdue") { this.OverdueTasks.append(data[x]); } } } else if (error) { this.error = error; this.records = undefined; } }
Timeline.html
<lightning-tab label="All Tasks" value="All Tasks" title = "All Tasks"> <div style="overflow-x: scroll; height:130px;"> <div class="tasks-container"> <template for:each={CompletedTasks} for:item="rec"> <div key={rec.fields.Id.value}> <template if:true={CompletedTasks}> <div class="task-card"> <ul class="slds-has-dividers_around-space" draggable="true"> <li class="slds-item"> <article class="slds-tile slds-tile_board"> <h3 class="slds-tile__title slds-truncate" title="Journey Name"> <p style = "font-weight: 600;">Web Development Onboarding</p> </h3> <div class="slds-tile__detail"> <div class="slds-text-heading_small"> <a> {rec.fields.Name.value} </a> </div> <p class="slds-truncate" title="Esimated Completion Date:">Esimated Completion Date:</p> <div class = "statusdate"> <p class="slds-truncate" title="Date" style = "width: 200px;">{rec.fields.Estimated_Completion_Date__c.value}</p> <div class = "statusbuttoncomplete"> <span class="slds-badge slds-theme_success">{rec.fields.Completion_Status__c.value }</span> </div> </div> </div> </article> </li> </ul> </div> </template> </div> </template> </div> </div> </lightning-tab>
循環(huán)中幾乎沒有語法錯(cuò)誤。
data.length
因?yàn)?data 是一個(gè)對(duì)象,而不是數(shù)組。您需要 data.records.length
。rec.fields.Completion_Status__c.value
)中的內(nèi)容,如果您只是轉(zhuǎn)到 data[x].Completion_Status__c === "Completed"
您正在比較字符串又是復(fù)雜的對(duì)象。是的,這與您使用從 Apex 發(fā)送的數(shù)據(jù)時(shí)不同,并且有點(diǎn)煩人,但這是適合您的標(biāo)準(zhǔn) LWC / UI 記錄 API...push()
,而不是 append()
。嘗試使用此方法(它會(huì)轉(zhuǎn)換為顯示帳戶案例,并非每個(gè)人都會(huì)擁有您的自定義任務(wù)__c)
Web Development Onboarding
Esimated Completion Date:
{rec.fields.CreatedDate.value}
{rec.fields.Status.value }
import { LightningElement,api, wire, track} from 'lwc'; import { getRelatedListRecords } from 'lightning/uiRelatedListApi'; export default class Stack74031191 extends LightningElement { @api recordId; @track CompletedTasks = []; @track InProgressTasks = []; @track OverdueTasks = []; error; records; @wire(getRelatedListRecords, { parentRecordId: '$recordId', relatedListId: 'Cases', fields: ['Case.Id','Case.Subject', 'Case.CreatedDate', 'Case.Status'], sortBy: ['Case.CreatedDate'], })listInfo({ error, data }) { if (data) { this.records = data.records; this.error = undefined; for (let i = 0; i55.0 true lightning__RecordPage