我尝试根据该行的值将PasswordRenderer应用于特定的行和列。
所以我的自定义渲染器看起来像这样 -
function firstRowRenderer(instance, td, row, col, prop, value, cellProperties) {
Handsontable.renderers.PasswordRenderer.apply(this, arguments); }
然而,我面临的问题是,在编辑单元格时,该字段不再被屏蔽。以下是一个示例 - http://jsfiddle.net/whxbv6xh/
如果您尝试编辑该表的第一行,则不会屏蔽这些值。有什么想法吗?
答案 0 :(得分:0)
该领域的“揭露”是PasswordRenderer
基本上所有的内容。如果您希望根本无法看到原始值,则至少有两个选项:
1.事先转换标题行的值:
function renderAsPassword(password) {
return new Array(password.length + 1).join('*');
}
alert(['', 'Kia', 'Nissan', 'Toyota', 'Honda'].map(renderAsPassword));
2.创建自定义编辑器,扩展内置PasswordEditor
:
var PasswordEditor = Handsontable.editors.PasswordEditor.prototype.extend();
PasswordEditor.prototype.getValue = function() {
return renderAsPassword(this.TEXTAREA.value);
};
PasswordEditor.prototype.setValue = function(newValue){
this.TEXTAREA.value = renderAsPassword(newValue);
};