首页 > 解决方案 > salesforce lwc - 有线适配器无法将跟踪变量声明为参数

问题描述

我正在尝试根据记录类型提取字段的选项列表值。以下作品 -

@wire(getPicklistValuesByRecordType, { objectApiName: 'Case', recordTypeId: '0123h000000kv04AAA' })
typePicklistValues({ error, data }) {
    if (data) {
        console.log(data.picklistFieldValues.Type.values)
        this.options = data.picklistFieldValues.Type.values;
    }
}

如果我用变量替换 ObjectAPIName 和记录类型,它就不起作用 -

@wire(getPicklistValuesByRecordType, { objectApiName: '$this.objectName', recordTypeId: '$this.recordTypeId' })
typePicklistValues({ error, data }) {
    if (data) {
        console.log(data.picklistFieldValues.Type.values)
        this.options = data.picklistFieldValues.Type.values;
    }
}

所有这些变量都有我已经检查过的实际值,我在这里做错了什么吗?

标签: salesforcelwc

解决方案


不包括this在电抗线参数中。

利用

@wire(
    getPicklistValuesByRecordType, 
    { objectApiName: '$objectName', recordTypeId: '$recordTypeId' }
)

来实现这种反应。


推荐阅读