我希望用户从 ListView 中选择一个项目,然后从应用程序栏中单击删除按钮来删除所选项目....
我之前已经做过很多次这种事情,但是是在一个简单的 ListView 上也就是说,它没有任何组,但是从 listView 中删除项目的方法在这里不适用,因为它是一个组 ListView ,因为它按某种顺序对对象进行排序,从而混合所有索引 (index)。
这是我用来从简单(未分组) ListView 中删除元素的方法:
var deleteIndex=0;
var listView=document.getElementById('listview').winControl;
listView.addEventListener('selectionchanged', function () {
deleteIndex=listView.selection.getIndices();
});
function deleteButtonOnClick(){
data.splice(deleteIndex,1);
}
这不适用于组 ListView ,它会删除 ListView 中的其他一些项目...我真的陷入了这一点,我必须在明天之前完成我的应用程序。
最佳答案
我无法为您提供代码示例,因为我缺少您的数据模型,但一般概念是
- 数组中的每个对象都有一些可识别的数据。如果它是 来自数据库,您可能有一个 ID 字段。
- 在选择更改时获取所选项目的 ID
- 在deleteButtonOnClick函数中,首先循环遍历数据数组,检查id是否与所选项目的id匹配,如果匹配,则您拥有对象的索引
- 现在使用该索引,将其从数组中拼接出来
关于javascript - 如何使用 JavaScript 从 Windows 8 应用程序中的组 listView 中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16363471/