Titanium Appcelerator 无法更新按钮单击下方列表视图代码中的文本:
{
type : 'Ti.UI.View',
bindId : 'vwqtySelection',
properties : {
top : '30dp',
height : '50dp',
//backgroundColor: 'red',
width : require('main').XhdpiSupport(150),
right : '90dp',
zIndex : 10
},
childTemplates : [{
type : 'Ti.UI.Button',
bindId : 'btnMinus',
properties : {
left : '15dp',
color : '#676972',
title : '-',
width : require('main').XhdpiSupport(30),
height : require('main').XhdpiSupport(22),
}
}, {
type : 'Ti.UI.Label',
bindId : 'qtyValue',
properties : {
//touchenabled : false,
left : '50dp',
color : '#676972',
text : '4',
textAlign : 'center',
}
}, {
type : 'Ti.UI.Button',
bindId : 'btnPlus',
properties : {
left : '79dp',
color : '#676972',
title : '+',
}
}]
}
>项目单击选择按钮单击时更新文本的位置 想要更新按钮点击的文本,即4到2
我试过下面的代码
scrlView.addEventListener('itemclick', function(e) {
if (e.bindId === 'btnMinus') {
item = section.getItemAt(e.itemIndex);
e.section.qtyValue.properties.text = "2";
e.section.updateItemAt(e.itemIndex, item);
//here not able to update text 4 to 2
} else if (e.bindId === 'btnPlus') {
}
}};
错误到达下方 消息:未捕获的TypeError:无法读取属性'属性'未定义的
答案 0 :(得分:1)
这是如何编辑listView
中的UI元素的示例。
每个ListItem
都包含Label
,其中包含数字和加号标签,当您点击加号标签时,它应该增加该listItem中的数字。
index.xml文件:
<ListView id="listView" class="listView" defaultItemTemplate="template">
<Templates>
<ItemTemplate name="template" layout='horizontal'>
<Label bindId="number" id="number" left=20>0</Label>
<Label bindId="add" id="add" right=20 onClick="addOneToCurrentNumber">+</Label>
</ItemTemplate>
</Templates>
<ListSection>
<ListItem number:text='0' />
<ListItem number:text='-50' />
<ListItem number:text='100' />
<ListItem number:text='1024' />
</ListSection>
</ListView>
index.js文件:
function addOneToCurrentNumber(e) {
var row = $.listView.sections[0].getItemAt(e.itemIndex);
var number = parseInt(row.number.text);
number++;
row.number.text = number;
$.listView.sections[0].updateItemAt(e.itemIndex, row, { animated:true });
}
希望这有帮助,如果您需要任何修改,请告诉我。