从我所看到的情况来看,默认情况下这是不可能的,但我希望新的Glimmer引擎可以改进这一点。我正在表中创建一个内联编辑组件。默认情况下,我希望组件是td元素,但有选择地成为交互时的输入元素。
// components/inline-edit.js
tagName: 'td',
click: function() {
this.set('tagName', 'input');
this.rerender(); // prolly not necessary, but thought I'd give it a go
}
不幸的是,这不起作用。我错过了什么吗?我正在使用Ember 1.13.3,但我是否需要选择使用Glimmer来实现此功能?
感谢。
答案 0 :(得分:2)
为什么不显示隐藏的输入字段,然后单击取消隐藏并关注? <td>
只能成为<input>
,因为<input>
不能成为<tr>
的直接孩子,也不会有意义。
答案 1 :(得分:1)
如果输入元素不适合您,那么内联的contenteditable如何:
public AccountController
{
public ActionResult DoSomething(int id, string username)
{
}
}
然后在// components/inline-edit.js
export default Ember.Component.extend({
tagName: 'span',
attributeBindings: ['contenteditable'],
contenteditable: true,
...
});
:
<td>