Lightning Web Component 組織のデータを取得して表示させる方法

環境
Salesforce

書式
JavascriptAPIを使用します

import { LightningElement,api,wire } from 'lwc'
import { getRecord } from 'lightning/uiRecordApi'

api: プロパティを公開
wire: 組織からデータを取得
getRecod: Lightningデータサービスを使用してデータを取得

操作例
1.JSコード(MyComponent.js) データを取得する
説明
@api recordId
現在のIdを取得します

@wire{getRecord, {recordId: '$recodId’,fields}}
@wireデコレータでコンポーネントが呼び出されたり、
イベントが発生するたびにgetRecord関数を呼び出します。

サンプルコード

import { LightningElement, api , wire } from 'lwc';
import { getRecord } from 'lightning/uiRecordApi'
const fields = [
    'Test123__c.Name','Test123__c.Text__c','Test123__c.Datetime__c','Test123__c.CheckBox__c'
];

export default class MyComponent extends LightningElement {
    @api recordId;
    name;
    text;
    checkbox;
    datetime;
    
    @wire(getRecord, { recordId: '$recordId', fields } )
     loadTests ({error, data}) {
        if (error) {
            // エラー処理コード
        } else if (data) {
            this.name = data.fields.Name.value;
            this.text = data.fields.Text__c.value;
            this.checkbox = data.fields.CheckBox__c.value;
            this.datetime = data.fields.Datetime__c.value;
        }
    }
}

2.データを表示します
htmlコード(appComp.html)
書式

lightning-output-field field-name=フィールド名
lightning-record-view-form record-id={レコードID} object-api-name="オブジェクトAPI名"

サンプルコード

<template>
    <lightning-card title="レコード表示テスト">
        <lightning-record-view-form
        record-id={recordId}
        object-api-name="Test123__c"
        colums="2">
        <div class="slds-theme_default">
            <lightning-output-field field-name="Name">
            </lightning-output-field>
            <lightning-output-field field-name="Text__c">
            </lightning-output-field>
            <lightning-output-field field-name="CheckBox__c">
            </lightning-output-field>
            <lightning-output-field field-name="Datetime__c">
            </lightning-output-field>
        </div>
    </lightning-record-view-form>
    </lightning-card>
</template>

 

Salesforce

Posted by arkgame