【问题标题】:Polymer getting an paper-input, core-input field's value on keypress聚合物在按键上获得纸质输入、核心输入字段的值
【发布时间】:2014-06-29 12:54:08
【问题描述】:

我有纸张输入元素

<paper-input 
    id="{{ id }}" 
    label="{{ label }}" 
    on-keyup="{{ keypressHandler }}" 
    value="{{ value }}">
</paper-input>

我可以在按键被释放时捕捉到事件。

Polymer("app-input", {
    ready: function() {
        this.value = false;
    },
    keypressHandler: function(event, detail, sender) {
        console.log("inputChanged");
        console.log(this.value);
    }
});

但 this.value 仅在从输入字段中移除焦点时才会更改,因此我无法在按钮释放时检索元素值。

如何在 keypressHandler() 中获取元素值?

【问题讨论】:

    标签: javascript polymer paper-elements


    【解决方案1】:

    对于paper-input(和core-input),inputValue 是实时值,value已提交值(当用户模糊字段或按回车时更新)。

    另外,考虑使用数据观察而不是事件。

    <paper-input 
        id="{{ id }}" 
        label="{{ label }}" 
        inputValue="{{ value }}">
    </paper-input>
    
    ...
    
    Polymer("app-input", {
        valueChanged: function() {
            console.log("valueChanged");
            console.log(this.value);
        }
    });
    

    【讨论】:

    • 这对我不起作用。但我在飞镖中使用 e.attributes['inputValue']。
    • 在代码中您几乎不需要访问属性,而是访问 properties。假设e 是对您的输入元素的引用,请尝试e.inputValue
    • 我正在使用 dart,无法获得类的正确实例,因此它们没有必要的属性。
    • 我认为你应该能够做到(e as PaperInput).inputValue,但我实际上对 Dart 一无所知,抱歉。
    • @JacobPhillips,您使用的是 paper_element 包吗? pub.dartlang.org/packages/paper_elements
    猜你喜欢
    • 2015-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多