我有一个Backbone.Forms编辑器,它是一个带有选项的选择true
菜单false
。当我将字符串值转换为布尔值并在getValue()
方法验证中返回时失败。我猜是因为我们返回的是假的。此外,由于字符串值(因此是布尔值的原因),底层模型始终将属性设置为 true。
(function() {
'use strict';
Backbone.Form.editors.BooleanSelect = Backbone.Form.editors.Select.extend({
initialize: function(options) {
options.schema.options = [
{ val: 'true', label: 'Yes' },
{ val: 'false', label: 'No' }
];
Backbone.Form.editors.Select.prototype.initialize.call(this, options);
},
getValue: function() {
return this.$el.val() === 'true' ? true : false;
},
setValue: function(value) {
this.$el.val(value);
}
});
})();