我正在尝试使用
设置标签的ID<ScrollableView
id="scrollableView"
showPagingControl="false"
dataCollection="question"
dataTransform="transformFunction"
dataFilter="dataFilterFunction">
<ScrollView id="rwr" width="100%" layout="vertical" scrollingEnabled="false">
<View width="100%" layout="vertical" height="100%" >
<Label id='lbl{id}' color="black" text="{id}{description}" />
但它并没有这样做。事实上,我试图设置accessibilityLabel,但它再次没有用。
<Label id='lbl{id}'
color="black"
text="{id}{description}"
accessibilityLabel ="{difficulty_level}" />
我确定id字段有一些独特的价值,因为当我在文本中设置它时会在文本中显示它。 我试图设置静态文本,即使它不起作用。
<Label id='abc' color="black" text="{id}{description}" />
但是我可以为ScrollableView的id字段设置硬编码值,而不是动态创建的!
答案 0 :(得分:0)
我认为 id 属性最终会在构建集合时以某种方式被Alloy使用,并且以后无法通过公共数据绑定进行操作。
您尚未指定直接设置ID的原因,但还有另一种方法可以访问集合中的特定视图: itemId 属性。就像在这个例子中一样:
<ListSection
dataCollection=”$.Departures”
dataTransform=”transformDeparture”
>
<ListItem
title=”{title}”
itemId=”{departureId}”
/>
</ListSection>
然后您可以以编程方式访问该元素,例如,在单击事件上:
function itemClick(e){
var model = $.Departures.get(e.itemId);
}
您可以通过Rene Pot在this 7min read article找到有关此模式的更多信息。
希望这有助于解决您的问题。