2015-10-21 167 views
1

我遇到了一个与聚合物有关的奇怪问题。将paper-input元素嵌套在paper-item元素下时,paper-input将不会注册空格键。聚合物:在纸张项下嵌套纸张输入禁用空格键

实施例:

<template> 
    <paper-item class="to-do-item"> 
     <paper-checkbox active="{{done}}"></paper-checkbox> 
     <paper-input id="test1" value="Test1"></paper-input> 
    </paper-item> 
    <paper-input id="test2" value="Test2"></paper-input> 
</template> 

在这个例子中,两个test1test2将采取输入,但我不能在test1输入空格而我可以在test2输入空格。如果我复制并粘贴一个空格字符,它可以在任何输入中工作。离奇。任何人都知道发生了什么事?

编辑:问题是跨设备和浏览器,桌面和移动设备的一致。

+0

您可以检查github是否存在任何现有问题:https://github.com/PolymerElements/paper-item/issues。如果你没有找到它,然后创建一个jsbin或其他东西,你可以在那里发布一个问题。 – Srik

+0

该问题正在等待https://github.com/PolymerElements/paper-item/issues/28。 –

回答

0

根据github development issue,问题在于聚合物将空间解释为按钮单击而不是输入。这个问题正在研究中,但在此期间,评论IronButtonState行为是一个可行的解决方案。

behaviors: [ 
    Polymer.IronControlState/*, 
    Polymer.IronButtonState*/ 
] 
0

纸项目元素实现两个行为:

  1. Polymer.IronControlState

  2. Polymer.IronButtonState

    ,我认为使空格键触摸事件不可用,可以更换如果你想的话,可以通过熨斗项目元素来制作纸件。

+0

没有铁器。 –

+0

对不起,我的意思是iron-list,事实上paper-item是一个非交互式的列表项,如文档中所述,如果你想使用列表容器来布局你的纸元素,可以使用iron-list –

0

没有可用另一个解决办法在此所说明: https://github.com/PolymerElements/paper-item/issues/103

用户SPessall的思想是用空函数来代替聚合物项的_spaceKeyDownHandler(实施)函数,它可以很容易地通过此代码完成:

ready: function(){ 
    this.$$('paper-item')._spaceKeyDownHandler = function() {}; 
}