2014-06-29 18 views
6

Tôi có giấy đầu vào yếu tốPolymer nhận được một giấy đầu vào, giá trị trường của lõi-input trên bấm phím

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

và tôi có thể bắt sự kiện khi phím được nhả.

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

Nhưng giá trị này chỉ được thay đổi khi lấy nét khỏi trường nhập, vì vậy tôi không thể truy xuất giá trị phần tử tại nút thời điểm được nhả.

Làm cách nào để có được các yếu tố giá trị trong keypressHandler()?

Trả lời

9

Đối paper-input (và core-input), inputValue là giá trị thời gian thực, và valuecam giá trị (được cập nhật khi người dùng làm mờ lĩnh vực này hoặc hit nhập).

Ngoài ra, hãy xem xét sử dụng quan sát dữ liệu thay vì sự kiện.

<paper-input 
    id="{{ id }}" 
    label="{{ label }}" 
    inputValue="{{ value }}"> 
</paper-input> 

... 

Polymer("app-input", { 
    valueChanged: function() { 
     console.log("valueChanged"); 
     console.log(this.value); 
    } 
}); 
+0

điều này không hiệu quả đối với tôi. nhưng tôi đang sử dụng e.attributes ['inputValue'] trong phi tiêu. –

+0

Trong mã bạn hầu như không bao giờ cần phải truy cập các thuộc tính, truy cập * thuộc tính * thay thế. Giả sử rằng 'e' là một tham chiếu đến phần tử đầu vào của bạn, hãy thử' e.inputValue'. –

+0

Tôi đang sử dụng phi tiêu và không thể có được một trường hợp thích hợp của các lớp học, vì vậy họ không có các thuộc tính cần thiết. –

Các vấn đề liên quan