Lightning Web Component 組織のデータを取得して表示させる方法
環境
Salesforce
書式
JavascriptAPIを使用します
import { LightningElement,api,wire } from 'lwc'
import { getRecord } from 'lightning/uiRecordApi'
import { LightningElement,api,wire } from 'lwc'
import { getRecord } from 'lightning/uiRecordApi'
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;
}
}
}
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;
}
}
}
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名"
lightning-output-field field-name=フィールド名
lightning-record-view-form record-id={レコードID} object-api-name="オブジェクトAPI名"
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>
<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>
<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>