2016-02-27 64 views

回答

4

您可以使用always-float-label,no-label-floatpaper-input的属性/属性在on-click事件中实现此目的。 paper-inputdemo显示如何使用always-float-label,no-label-float属性/属性。

的演示可以

<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 

 
    <title>Label float</title> 
 

 
    <script src="https://rawgit.com/webcomponents/webcomponentsjs/master/webcomponents.js"></script> 
 
    
 
    <base href="https://cdn.rawgit.com/download/polymer-cdn/1.0.1/lib/"> 
 
    <link rel="import" href="paper-input/paper-input.html"> 
 
    
 

 
</head> 
 

 
<body> 
 

 
<my-form></my-form> 
 
    <dom-module id="my-form"> 
 
    <template> 
 
    
 
    <paper-input name="name" id="name" label="name" on-click="_click" on-blur="_blur"></paper-input> 
 
    
 
    </template> 
 
    <script type="text/javascript"> 
 
     Polymer({ 
 
     is:"my-form", 
 
     _click:function(){ 
 
      //console.log(this.$.name.value); 
 
      this.$.name.alwaysFloatLabel=true; 
 
     }, 
 
     _blur:function(){ 
 
     this.$.name.alwaysFloatLabel=false; 
 
     } 
 
     }) 
 
    
 
    </script> 
 
</dom-module> 
 
</body> 
 

 
</html>

+0

是的,我已经知道always-float-label和no-label-float属性。我希望标签在点击事件上浮动,并在外部点击时恢复。 –

+0

你没有在你的问题中提到它,你知道它,无论如何,我已经更新了答案 –

3

一个 '好' 的办法:

<paper-input label="Name" focused="{{focused}}" always-float-label="[[focused]]"></paper-input> 

要解释一下,这是一个纯粹的数据绑定解决方案。 focused设置只读布尔值,并且always-float-label采用布尔值。只需绑定这些值,以便always-float-labelfocused同步(其中always-float-label只读取使用[[]]设置的值)。