- プレイグランドの名前? lwc_for_vf_devs
エラーメッセージ
- We can't find a component named 'accountFinder' on the LWC Visualforce Devs page. Make sure you successfully deployed the component files to your Trailhead Playground, and add the component to the page.
ハンズオンの Challengeを実行する前
- We can't find the 'annualRevenue' property initialized to 'null' in the accountFinder JavaScript.
ああ、間違えている。
import { LightningElement } from 'lwc';
export default class AccountSearch extends LightningElement {
numberOfEmployees = null;
handleChange(event) {
this.annualRevenue = event.detail.value;
}
reset() {
this.annualRevenue = null;
}
}
最終形
<template>
<lightning-card>
<lightning-input
type="number"
label="Annual Revenue"
value={annualRevenue}
formatter="currency"
onchange={handleChange}>
</lightning-input>
<lightning-button
label="Reset"
onclick={reset}>
</lightning-button>
</lightning-card>
</template>
import { LightningElement } from 'lwc';
export default class AccountSearch extends LightningElement {
annualRevenue = null;
handleChange(event) {
this.annualRevenue = event.detail.value;
}
reset() {
this.annualRevenue = null;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>52.0</apiVersion>
<isExposed>true</isExposed>
<targets>
<target>lightning__AppPage</target>
</targets>
</LightningComponentBundle>
Work with Salesforce Data
- LWC1503: Parsing error: /home/sfdc/tools/lwc/2.2.9-234.6/accountSearch.js: Leading decorators must be attached to a class declaration. (11:8) (11:8)
よく分からん。Apex Classの名前を間違えていた?
import { LightningElement, wire } from 'lwc';
import queryAccountsByEmployeeNumber from '@salesforce/apex/AccountListControllerLwc.queryAccountsByEmployeeNumber';
export default class AccountSearch extends LightningElement {
numberOfEmployees = null;
handleChange(event) {
this.numberOfEmployees = event.detail.value;
}
reset() {
this.numberOfEmployees = null;
}
@wire(queryAccountsByEmployeeNumber, { numberOfEmployees: '$numberOfEmployees' })
accounts;
}
-
We can't find a method named 'queryAccountsByRevenue' in the AccountListControllerLwc class.
-
Unable to find Apex action method referenced as 'AccountListControllerLwc.queryAccountsByRevenue'.
何だ?意味が分からん。何度も保存、デプロイを繰り返したらエラーが消えた。分からんなぁ。
- We can't find an Apex class named 'AccountListControllerLwc'.
Apexクラスを作った時にコピペの範囲が足らないまま名前をつけたので、renameしたのが悪かったのか?
しかし、プレグランドでは正常な名前になっている。何見てんだろうねぇ。
いつものようにチェックロジックは理解できん。
シークレットモードも効かないので、仕方なく別の環境にデプロイします。
- We can't find an 'annualRevenue' parameter of type 'Decimal' in the queryAccountsByRevenue method.
はいはい、Apexだけ新しい環境にしてもダメ?
コンポーネントもデプロイしたけど、同じエラー。
ああ。変数の宣言間違えた。
最終形
@AuraEnabled(cacheable=true)
public static List<Account> queryAccountsByRevenue(Decimal annualRevenue) {
return [
SELECT Name
FROM Account
WHERE AnnualRevenue >= :annualRevenue
];
}