Javascript 如何更改NativeScript中StackLayout容器的背景色?
我有以下XML视图:Javascript 如何更改NativeScript中StackLayout容器的背景色?,javascript,nativescript,Javascript,Nativescript,我有以下XML视图: <ListView items="{{ lists }}" itemTap="itemTapped"> <ListView.itemTemplate> <StackLayout class="list-group-item" orientation="horizontal"> <Label text="{{ name }}" class="item-name" horizontalA
<ListView items="{{ lists }}" itemTap="itemTapped">
<ListView.itemTemplate>
<StackLayout class="list-group-item" orientation="horizontal">
<Label text="{{ name }}" class="item-name" horizontalAlignment="center" />
</StackLayout>
</ListView.itemTemplate>
</ListView>
当我运行应用程序并单击列表项时,我在控制台中看到:
CONSOLE LOG file:///app/pick/pick-page.js:111:14: undefined
CONSOLE LOG file:///app/pick/pick-page.js:113:14: #FF0000
CONSOLE LOG file:///app/pick/pick-page.js:111:14: undefined
CONSOLE LOG file:///app/pick/pick-page.js:113:14: #FF0000
我还尝试了args.object.className='selected item',设置背景颜色:红色;在CSS中,但这也不起作用
我该如何动态更改该颜色?或者,是否有更好的方法来指示ListView项目已点击?您不应该直接从ListView修改ListItem,因为在上/下滚动时,这些元素可能会重复使用。您应该在数据项上有一个属性,并根据该属性进行切换,您可以在ListItem上绑定背景色
<ListView items="{{ countries }}" itemTap="{{ onItemTap }}">
<ListView.itemTemplate>
<FlexboxLayout flexDirection="row"
backgroundColor="{{ selected, selected ? 'red' : 'white' }}">
<Image src="{{ imageSrc }}" class="thumb img-circle" />
<Label text="{{ name }}" class="t-12"
verticalAlignment="center" style="width: 60%" />
</FlexboxLayout>
</ListView.itemTemplate>
</ListView>
<ListView items="{{ countries }}" itemTap="{{ onItemTap }}">
<ListView.itemTemplate>
<FlexboxLayout flexDirection="row"
backgroundColor="{{ selected, selected ? 'red' : 'white' }}">
<Image src="{{ imageSrc }}" class="thumb img-circle" />
<Label text="{{ name }}" class="t-12"
verticalAlignment="center" style="width: 60%" />
</FlexboxLayout>
</ListView.itemTemplate>
</ListView>