ページ遷移元
stateプロパティを設定することで、クエリパラメータを追加することができる。削除するときはundefinedを設定する。
stateプロパティは名前空間プレフィックス__
で始める必要がある。管理パッケージでない場合はc__
となる。
stateで使用できるのは文字列のみ。
import { LightningElement } from "lwc";
import { NavigationMixin } from 'lightning/navigation';
export default class SampleA extends NavigationMixin(LightningElement) {
navigateToRecordViewPage() {
this[NavigationMixin.Navigate]({
type: 'standard__recordPage',
attributes: {
objectApiName: 'SObjectName__c',
recordId: this.selectedId
},
state: {
c__viewType: 'simple' // クエリパラメータを設定
}
});
}
}
ページ遷移先
CurrentPageReference
を利用して、currentpagereference.state.c__xxx
からクエリパラメータを取得する。
import { LightningElement, wire } from "lwc";
import { CurrentPageReference } from "lightning/navigation";
export default class SampleB extends LightningElement {
currentPageReference;
@wire(CurrentPageReference)
setCurrentPageReference(currentPageReference) {
this.currentPageReference = currentPageReference;
}
get viewType() {
return this.currentPageReference ? this.currentPageReference.state.c__viewType : undefined;
}
}