Salesforce VisualForce:将参数传递给中继器内的自定义组件
我不明白这为什么不起作用:Salesforce VisualForce:将参数传递给中继器内的自定义组件,salesforce,custom-component,apex-code,visualforce,Salesforce,Custom Component,Apex Code,Visualforce,我不明白这为什么不起作用: <apex:repeat value="{!MyContacts}" var="c" > <c:ContactRowComponent contactLastName="{!c.LastName}"/> </apex:repeat> (其中,在主控制器MyContacts上返回一个Contact对象数组,在组件contactLastName上定义为字符串属性) 这给了我一个错误: 第25行第27列的contactL
<apex:repeat value="{!MyContacts}" var="c" >
<c:ContactRowComponent contactLastName="{!c.LastName}"/>
</apex:repeat>
(其中,在主控制器MyContacts上返回一个Contact对象数组,在组件contactLastName上定义为字符串属性)
这给了我一个错误:
第25行第27列的contactLastName属性需要文本值
似乎是说需要一个文字值,而不是一个公式?我想做的事情是不可能的,还是我做错了?我也遇到过这个问题。在我的例子中,这是因为我在component属性中指定了默认属性,而出于某种原因,在使用公式的字段中不能这样做 例如,这将产生您在传递公式值时描述的错误:
<apex:attribute type="string" name="value" default="sometext" description="some name value" />
因此,如果删除默认属性,错误将得到解决。让我知道这是否解决了您的特定用例。应该可以:(myContacts真的是数组(Contact[])还是其他东西?应该是数组。还有-愚蠢,但您确定以前没有将“c”变量声明为其他东西吗?您确定要查询“LastName”吗?如果注释掉组件并仅显示{!c.LastName}合并字段,会发生什么情况?