1

在我的网格视图中,

我在集合结束时插入了一个新的主干模型(没有 id 的模型),它在 backgrid 中插入了一个新的空白行

我想将占位符放在该空白行的第一个输入单元格中。我在文档中找不到相同的内容,但幸运的是我在代码中找到了: https ://github.com/wyuenho/backgrid/blob/master/lib/backgrid.js#L710

但是当单元格进入编辑模式时,这个占位符正在初始化。

为什么会这样??

占位符应始终可见,并且仅当焦点进入该输入单元格时才应隐藏。

但是在backgrid中,正好相反。

如何摆脱这个问题?

我想一直为空白输入 Backgrid Cell 显示占位符。并且仅当该单元格进入编辑模式时才隐藏。

4

1 回答 1

3

Backgrid 类旨在扩展。
您可以通过扩展Backgrid.Cell和覆盖render函数来实现效果。

Backgrid.PlaceholderCell = Backgrid.Cell.extend({

  className: "placeholder-cell",

  render: function () {
    this.$el.empty();
    var model = this.model;
    var value = this.formatter.fromRaw(model.get(this.column.get("name")), model);
    text = value || "PLACEHOLDER";
    this.$el.text(text);
    this.delegateEvents();
    return this;
  }

});

jsfiddle:http: //jsfiddle.net/bh5nd/

于 2014-06-13T07:19:13.050 回答