【问题标题】:Change event for textarea in emberember中textarea的更改事件
【发布时间】:2017-04-20 15:36:06
【问题描述】:

所以我有这个文本区域

{{textarea value=model.description key-press="upload" required=true rows="5" aria-describedby=describedby}}

正如您在上面看到的,按键事件工作得很好,即它能够触发上传操作

现在,当我用 change 或 onchange 替换按键时,上传操作不会被触发。这是代码

{{textarea value=model.description onchange="upload" required=true rows="5" aria-describedby=describedby}}

如何在 ember 中为 textarea 调用 change 事件动作??

【问题讨论】:

    标签: ember.js textarea


    【解决方案1】:

    TextArea 正在扩展TextSupport 所以这里是supported by inbuilt 的事件,

    +--------------------------------+----------------+ | | | |活动 |属性名 | +--------------------------------+----------------+ |插入新行 |插入换行符 | | | | |按下回车键 |插入换行符 | | | | |按下取消键 |逃脱新闻| | | | |聚焦 |聚焦 | | | | |聚焦 |聚焦 | | | | |按键 |按键 | | | | |键位 |键位 | | | | |按键 |按键 | +--------------------------------+----------------+

    如果您想触发 onchange 的操作,那么您可以尝试以下选项,

    1. 您可以使用普通的<text-area 而不是{{textarea,如下所示

      <textarea value={{appName}} onchange={{action 'onTextFiledChange'}} />

    2. onchange 事件也会在 focus-out 上触发文本区域,

      {{textarea value=appName focus-out='onTextFiledChange' }}

    3. 您可以通过扩展TextArea来创建自己的组件

      {{my-textarea value=appName onTextFiledChange='onTextFiledChange'}}

    看看at this twiddle

    【讨论】:

    • 第一个选项不起作用我可以使用第二个选项,因为我没有直接在 textarea 中插入值
    • 对于第一个选项,如果你在组件中使用它,那么你需要在组件中定义onTextFiledChange动作,如果它在模板中说dashboard.hbs那么你应该有动作onTextFiledChangedashboard.js控制器
    【解决方案2】:

    您可以这样做,就像这个 ember 对输入助手的事件有一些问题一样。

     <textarea value={{model.description}} onchange={{action "upload" value="target.value"}} >
    

    【讨论】:

    • 这是我尝试过的 出于某种原因没有调用上传操作跨度>
    • 我建议您使用oninput 而不是onchangeonchange 仅在焦点消失时触发,而 oninput就在之前触发keyup iirc。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多