import { LightningElement, wire } from 'lwc';
import getMyGridData from '@salesforce/apex/zzgrindapex.getMyGridData';
import LABEL_ONE from '@salesforce/label/c.id';
import ACCOUNT_OBJECT from '@salesforce/schema/Account';
import { getObjectInfo } from 'lightning/uiObjectInfoApi';
export default class Test1 extends LightningElement {
gridData;
error;
labelid = LABEL_ONE;
fieldlabel;
isFieldLabelLoaded = false; // 필드 라벨 로드 상태
@wire(getObjectInfo, { objectApiName: ACCOUNT_OBJECT })
objectInfo({ error, data }) {
if (data) {
this.fieldlabel = data.fields.Id.label;
this.isFieldLabelLoaded = true; // 필드 라벨 로드 완료
this.loadGridData(); // 필드 라벨이 로드된 후 데이터 로드
console.log('✔✔✔✔✔✔✔✔✔✔✔✔✔', this.fieldlabel);
} else if (error) {
console.log('schemaerror');
}
}
loadGridData() {
if (!this.isFieldLabelLoaded) {
return; // 필드 라벨이 준비되지 않았으면 종료
}
getMyGridData()
.then(result => {
this.gridData = JSON.parse(result.Header__c);
this.gridData.forEach(item => {
if (item.customfield) {
item.headerid = this.labelid;
} else if (item.fieldlabel) {
item.headerid = this.fieldlabel;
}
});
console.log('현제 gridData❤❤❤', this.gridData);
})
.catch(error => {
console.error('Error loading grid data', error);
});
}
}