gpt4 book ai didi

javascript - knockout : Select in simpleGrid example

转载 作者:行者123 更新时间:2023-11-28 08:55:08 25 4
gpt4 key购买 nike

我正在使用此处找到的 knockout 简单网格: http://knockoutjs.com/examples/grid.html

我希望能够在网格中添加一个选择,该网格具有分配给我的虚拟机中的对象数组的数据绑定(bind)属性。

所以我从示例中添加了另一列:

this.gridViewModel = new ko.simpleGrid.viewModel({
data: this.items,
columns: [
{ headerText: "Item Name", rowText: "name" },
{ headerText: "Sales Count", rowText: "sales" },
{ headerText: "Price", rowText: function (item) { return "$" + item.price.toFixed(2) } },
*{ headerText: "Select", rowText: function (item) { return "<select data-bind=\"options:items, optionsText: 'name', optionsValue: 'name'\"></select>" } }*
],
pageSize: 4
});

并将控件内的text属性更改为html:

<td data-bind=\"*html*: typeof rowText == 'function' ? rowText($parent) : $parent[rowText] \"></td>\

选择出现,但未填充对象数组中的数据。

JSFiddle 在这里找到: http://jsfiddle.net/vwj2p/1/(当我对 simplegrid 代码进行更改时,我粘贴了上面简单网格中的代码)。

最佳答案

{ headerText: "Select", rowText: function (item) { return "<select data-bind=\"options:$root.items, optionsText: 'name', optionsValue: 'name'\"></select>" } }

我假设每个项目对象没有 items 属性,并且您正在尝试引用 viewModel 的 items 数组?如果是这样,请将您的代码更改为上面的代码。

但是,这仍然行不通。如果你看html binding文档,你会发现它只会输出静态 html。在绑定(bind)过程中,当这一切都被渲染时,KO 不会将绑定(bind)应用于生成的 HTML。

我尝试了一下代码,尝试执行 ko.applyBindingsToDescendants(viewModel, {td element}),其中 {td element} 是一个引用当 observableArray 项更新时,到其上具有 html 绑定(bind)的父元素,但似乎没有执行任何操作。

底线,我认为如果不对 simpleGrid 进行大量的管道工作,您就无法使其正常工作。毕竟,这只是一个简单的网格。

关于javascript - knockout : Select in simpleGrid example,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18611960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com