2014-09-04 8 views
1

나는 다음과 같은 마크 업이 있습니다프로그래밍 방식으로 명확 PaperInput 및 부동 라벨이 입력 라인 드롭 다운 한

<paper-input id="alias-input" floatingLabel label="Person Alias (eg: King, Eldest Son, Mooch, etc.)"></paper-input> 
<paper-input id="birth-year-input" floatingLabel label="Birth Year (eg: 1969)" validate="^[12][0-9][0-9][0-9]$"></paper-input> 

<div center horizontal layout> 
    <paper-button id="add-button" on-click="{{addPerson}}" class="add" label="Add Person"></paper-button> 
</div> 

이 태그와 함께 이동을 내가 않는 addButton 방법이있다 :

addPerson(_) { 
    // Add the person 
    // ... 

    // Clear the inputs 
    ($['alias-input'] as PaperInput)..inputValue = ''..commit()..blur(); 
    ($['birth-year-input'] as PaperInput)..inputValue = ''..commit()..blur(); 
} 

입력 내용을 올바르게 지 웁니다. 그러나 컨트롤을 처음로드 할 때 PaperInput 도움말 레이블을 줄 위에 놓기를 원합니다. 내 희망은 blur()에 대한 호출이 그렇게하는 것입니다. 이 일을 성취 할 다른 부름이 있습니까?

답변

1

<paper-input> 안에 실제로 <input id='input'> 요소의 blur을 호출해야합니다. <paper-input>이 아닙니다. _ ($ [ '별명 입력을'
나는 불행하게도 그것이 작동하지 않았다가 교대로

import 'dart:js' as js; 
var inp = $['alias-input'] as PaperInput; 
inp.inputValue = ''; 
new js.JsObject.fromBrowserObject(inp).callMethod('inputBlurAction', []); 

작업이

var inp = $['alias-input'] as PaperInput; 
inp.inputValue = ''; 
inp.querySelector('* /deep/ #input') // not yet supported with polyfills 
..focus() // blur doesn't work when the field doesn't have the focus 
..blur(); 
+0

처럼 할 수 있어요 ] PaperInput) .. inputValue = null..commit() .. blur(); _ 은 i 설정과 동일한 효과가있었습니다. t ~ _'_. – user1338952

+0

답변을 업데이트했습니다. –

+1

완벽한 - 감사합니다! – user1338952