LWC For:각 지시어

Lwc For Gag Jisieo



LWC 목록 또는 Salesforce 레코드로 작업하는 경우 데이터를 반환해야 한다는 요구 사항이 있을 수 있습니다. 예를 들어 Salesforce 개체(표준 또는 사용자 정의)의 모든 레코드를 표시해야 하며 모든 레코드를 Apex 목록에 저장하고 레코드를 표시해야 합니다. 여기서는 for-each 템플릿 지시문이 등장합니다. 기본적으로 foreach는 주어진 데이터에 존재하는 모든 레코드를 반환하는 HTML 템플릿에 지정된 루프입니다. 이 가이드에서는 배열, 개체 배열, 중첩 개체 및 Apex 목록에서 요소를 가져오는 방법을 예제와 함께 설명합니다.

각각

LWC에서 for:each는 템플릿 태그와 함께 사용되는 지시어입니다. 주어진 데이터에서 항목을 반환합니다. 두 개의 매개변수가 필요합니다. 우리는 for:각={데이터} 그리고 for:item='변수' 변수로 지정된 현재 항목(반복자에서)을 가져옵니다. 그만큼 for:index=”index_var” 현재 요소 인덱스를 지정하는 요소 인덱스를 저장합니다.

통사론:







LWC(HTML 구성 요소)에서 for:each 지시어를 지정하는 방법을 살펴보겠습니다. for:index는 선택사항입니다.



<템플릿:각={데이터}:항목= 'item_var' 대상:색인= '색인_위치' >



'1.0' ?>

'http://soap.sforce.com/2006/04/metadata' >

57.0

사실

<대상>

lightning__RecordPage

lightning__AppPage

번개__홈페이지



2. 이 가이드에서 논의할 모든 예제에서는 로직이 'js' 코드로 제공됩니다. 그런 다음 전체 'js' 코드가 포함된 스크린샷을 지정합니다.



예시 1:

“firstComponent.js” 파일에 10개의 주제를 포함하는 목록을 만들어 보겠습니다. for:each 템플릿 지시문을 사용하고 'sub' 반복자로 이 목록을 반복합니다. 단락 태그 내에서 이 반복자로 키를 지정하고 제목을 표시합니다.

firstExample.html

<템플릿>

<번개 카드 제목= '주제 배열' >

<중앙>

<템플릿:각={subjects_array} 대상:항목= '보결' 대상:색인= '색인' >

{sub}











firstExample.js

// 보유하는 subject_array를 생성합니다. 10 과목

과목_배열 = [ 'AWS' , '영업' , 'PHP' , '자바' , '파이썬' , 'HTML' , 'JS' , '자바' , '신탁' , '씨#' ];

전체 코드:

산출:

이 구성 요소를 개체의 '기록' 페이지에 추가합니다(계정 '기록' 페이지에 추가합니다). 10개의 요소가 모두 UI에 표시됩니다.

예 2:

이제 프로그램인 'id'라는 개체 배열을 만들고 주제와 관련된 10개의 레코드를 입력합니다. 이는 프로그램과 유형을 얻기 위해 반복됩니다. 키는 'id'이고 유형 값은 굵게 표시됩니다.

두 번째Example.html

<템플릿>

<번개 카드 제목= '주제 배열' >

<중앙>

<템플릿:각={array_of_objects}:항목= 'OBJ' 대상:색인= '색인' >

{obj.program} - {obj.type}











secondExample.js

// 세부사항을 담고 있는 array_of_objects를 생성합니다. 10 과목

array_of_objects = [{id: 1 ,프로그램: 'AWS' , 유형: '구름' },{ID: 2 ,프로그램: '영업' , 유형: '구름' },

{ID: ,프로그램: 'PHP' , 유형: '편물' },{ID: 4 ,프로그램: '자바' , 유형: '웹/데이터' },

{ID: 5 ,프로그램: '파이썬' , 유형: '모두' },{ID: 6 ,프로그램: 'HTML' , 유형: '편물' },

{ID: 7 ,프로그램: 'JS' , 유형: '편물' },{ID: 8 ,프로그램: '.그물' , 유형: '웹/데이터' },

{ID: 9 ,프로그램: '신탁' , 유형: '데이터' },{ID: 10 ,프로그램: '씨#' , 유형: '데이터' }];

전체 코드:

산출:

모든 프로그램이 해당 유형과 함께 UI에 표시되는 것을 볼 수 있습니다.

예시 3:

객체(id, 프로그램, 유형, 주제)의 중첩된 배열을 만듭니다. 여기서 항목은 다시 요소 목록을 보유합니다. 첫 번째 for:each 템플릿 지시문에서는 전체 중첩 배열을 반복합니다. 이 템플릿 내에서는 이전 반복자를 사용하여 주제를 다시 반복합니다. 다음으로 기본 for:each 템플릿에 프로그램, 유형, 주제를 표시합니다.

thirdComponent.html

<템플릿>

<번개 카드 제목= '주제 배열' >

<중앙>

<템플릿:각={데이터}:항목= '발' 대상:색인= '색인' >

<템플릿:각={val.Topics}:항목= '발1' >



프로그램:  {val.program}   - {val.type} 주제:   {val.Topics}











thirdComponent.js

데이터 = [{ID: 1 ,프로그램: 'AWS' , 유형: '구름' , 주제:[ '소개' , 'AWC 필수사항' ]},

{ID: 2 ,프로그램: '영업' , 유형: '구름' , 주제:[ '관리자' , '개발' ]},

{ID: ,프로그램: 'PHP' , 유형: '편물' , 주제:[ '소개' , 'PHP-MySQL' ]}];

전체 코드:

산출:

모든 주제는 유형 및 주제와 함께 표시됩니다. 각 주제에는 두 가지 주제가 있습니다.

예시 4:

'계정' 개체에 있는 레코드를 반복해 보겠습니다. 먼저 계정 표준 개체의 계정 ID, 이름, 산업 및 등급 필드를 포함하는 레코드 목록(returnAcc() – 메서드)을 반환하는 Apex 클래스를 작성합니다. 'js' 파일에서는 linkedcallback() 내부의 Apex(import 문을 통해)에서 returnAcc() 메서드를 호출합니다. 그러면 계정이 반환됩니다. 마지막으로 이러한 계정은 for:each 템플릿 지시문에 지정되어 계정 이름과 산업을 가져옵니다.

AccountData.apxc

공유 클래스 AccountData를 사용하는 공개 {

@AuraEnabled(캐시 가능=true)

공개 정적 List<계정> returnAcc(){

List accountList = [SELECT ID, 이름, 업종, 등급 FROM 계정 한도 10 ];

accountList 반환;

}

}

finalComponent.html

<템플릿>

<번개 카드 제목= '계정 목록 표시' >

'slds-var-m-around_medium' >

<템플릿 if:true={계정}>

<템플릿:각={계정}:항목= 'account_rec' >

계정: {account_rec.Name}     산업: {account_rec.Industry}













finalComponent.js

다음에서 { LightningElement,track } 가져오기 '운' ;

다음에서 returnAcc 가져오기 '@salesforce/apex/AccountData.returnAcc' ;

기본 클래스 내보내기 FinalComponent는 LightningElement를 확장합니다.

@track 계정;

@트랙 오류;

연결된콜백(){

반환Acc()

// 계정을 반환합니다.

.then(결과 => {

this.accounts = 결과;

this.error = 정의되지 않음;

})

.catch(오류 => {

this.error = 오류;

this.accounts = 정의되지 않음;

});

}

}

산출:

이름 및 업종 필드에는 10개의 계정만 표시됩니다.

결론

주어진 데이터에서 항목을 반환하는 데 사용되는 for:each 템플릿 지시문에 대해 논의했습니다. 목록, 개체 배열, 중첩 개체 및 Salesforce 개체를 포함하는 네 가지 다른 예가 제공됩니다. 데이터는 'js' 파일에서 가져와야 하며 이를 for:each 템플릿에서 사용해야 합니다. 마지막 예제 구성 요소를 배포하는 동안 Apex 클래스를 먼저 배포해야 하는지 확인하십시오.