为文本字段设置自定义ID



如何为表单输入设置自定义元素id ?例如,我想有前缀或后缀的id。这是我得到的:

// views/extended-input.js
var suffix = function(key) {
return function() {
    var result = this.get(key) + '_' + this.get('suffix');
    console.log('xxx: ' + result);
    return result;
}.property(key, 'suffix');
};
export default Ember.TextField.extend({
   attributeBindings: ['id'],
   suffix: 'from',
   id: suffix('customId')
});

an in HBS模板

{{view 'extended-input' customId=field.name suffix='from'}}

…但渲染后输入仍然有ID属性设置为生成烬。这是可悲的,因为我期望attributeBinding将id更改为带有版本后缀的。

知道为什么吗?我哪里错了?有人能给我其他可行的解吗?

尝试将id替换为elementId,没有属性绑定。这是假设field.name永远不会改变。

问题是,如果变量和元素的唯一的、静态的、自我标识的ID属性之间有一个动态绑定,ember就会混淆(就像其他任何东西一样),所以要小心这样做。

您也可以尝试classNameBindings,这可能更合适,特别是如果field.name确实改变了。

相关内容

  • 没有找到相关文章

最新更新