在Ember.js中输入type =“ file”

施诺德巴尔肯

我编写了一个Ember组件,该组件代表可以处理文件上载的样式化输入字段。为了实现这一点,我使用了一个<div>和一个<input><input>visibility: hidden一次的单击事件<div>被激发我火上无形的单击事件<input>在灰烬组件的动作处理。

我的问题是,选择文件后,操作永远不会到达我的Ember组件。

add-document-input.hbs

<div {{action "add"}} class="floating-button">
    <span>+</span>
</div>
{{input multiple="true" action="upload" on="change" accept="image/png,image/jpeg,application/pdf" type="file"}}

add-document-input.js

import Ember from 'ember';

export default Ember.Component.extend({
    actions: {
        upload() {
            console.log('This never happens');
        },
        add() {
            Ember.$("input[type='file']").click();
        }
    }
});

我猜想这与触发动作内的click事件有关。这样,第二次在视图中发生动作时,该动作不会到达组件。

灰烬版本:2.7.0

拉米·本·阿罗亚(Ramy Ben Aroya)

这是一个未解决的问题您可以使用原生的输入元件和闭合动作拦截change事件,如建议在这里

<div {{action "add"}} class="floating-button">
    <span>+</span>
</div>
<input multiple="true" onchange={{action "upload"}} accept="image/png,image/jpeg,application/pdf" type="file"/>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章