WinJS listView ListLayout仅选择第一行

时间:2016-02-02 16:44:46

标签: javascript listview winjs

我的listview已启动并正在运行。我可以点击第一行,我的更改发生,然后再次单击,然后它按照我想要的方式更改回来。这适用于单选和多选模式以及任何可用的tapBehaviors。我可以在directSelect中选择不同的行,他们会选择,但每次单击更改只会影响第一行。我正在使用ListTemplate和ItemInvokedHandler来使事情正常工作。这是调用的处理程序:

            var listview = document.querySelector('#myNote').winControl;

            listview.addEventListener("iteminvoked", itemInvokedHandler, false);

            function itemInvokedHandler(e) {

                e.detail.itemPromise.done(function (invokedItem) {

                    var whatItis = whatitis

                    if (whatItis === "whatItshouldNOTBe") {

                        var whatItshouldbe = (function () {
                            whatitis
                        })();


                    } else {

                        var whatItshouldNOTbe= (function () {
                            whatItShouldNOTBe

                        })();

                    }

                });
            };

单步执行程序,我发现eventObject(e)确实包含了所有可选择的三行数据,这是调用这些我无法弄清楚的行的问题。

非常感谢任何帮助。提前谢谢。

-Rob0

1 个答案:

答案 0 :(得分:0)

找到我的答案:

WinJS.Binding.as(document.querySelector(".win-selected").style.height = "70px");

我没有使用querySelector获得完全(或足够精确)的元素。检查更改后的DOM有助于我看到这一点。

我意识到我上面的原始代码可能很稀疏,无法提供任何帮助。

<强> -------- ----------更新 作为一个说明:

使用时:

WinJS.Binding.as(document.querySelector(".win-selected").style.height = "70px");

更准确地使用您想要影响的元素的ID,如下所示:

WinJS.Binding.as(document.querySelector(".win-selected #yourElementID").style.height = "70px");

-Rob0