我有一个组件,其中包含多个文本区域和一个用于添加另一个文本区域的按钮。当用户单击该按钮时,将添加一个新的文本区域。我希望将焦点移到这个新的文本区域。
我看到了this answer,但它是一个旧版本,我们没有使用jQuery与Ember。
目前为止我所拥有的:
五个为什么.ts
type LocalWhy = {
content: string;
};
export default class FiveWhys extends Component<FiveWhysArgs> {
@tracked
whys: LocalWhy[] = ...
@action
addWhy() {
this.whys.pushObject({ content: "" });
}
}
五个为什么.hbs
{{#each this.whys as |why i|}}
<TextQuestion @value={{why.content}} />
{{/each}}
<button {{on "click" (action this.addWhy)}}>Add Why</button>
文本-问题.hbs
...
<textarea value="{{ @value }}" />
问题摘要
在用户单击“添加原因”后,如何将焦点设置到新的文本区域?
2条答案
按热度按时间h79rfbju1#
最近我也做了类似的事情:
组件.hbs:
组件.js
在我的例子中,我没有按钮,我已经创建了ember数据记录。通过一些修改,我打赌你可以做到这一点!
7vhp5slm2#
发现我可以在组件重新呈现后使用
Ember.run.schedule
来运行代码。