将 iron-data-table 内的 paper-input 移动到它自己的子元素会导致 row-detail 在聚焦时折叠
Moving paper-input inside iron-data-table to its own sub-element causes row-detail to collapse when focused
我想使用 iron-data-table
来显示和编辑其中一行的详细信息。我希望行详细信息成为主要 iron-data-table
的独立子元素。 Similar to what is shown by this jsBin demo.
当 运行 来自本地服务器上的本地存储库时,以下模式会产生预期的行为。
项目-list.html
<template is="row-detail">
<div class="detail">
<paper-input value="{{item.comment}}"</paper-input>
</div>
</template>
但是,以下模式会产生意外行为。
项目-list.html
<template is="row-detail">
<div class="detail">
<row-detail item="{{item}}"></row-detail>
</div>
</template>
行-detail.html
<template>
<paper-input value="{{item.comment}}"</paper-input>
</template>
意外的行为是在纸张输入内部单击以聚焦它的行为关闭了 row-detail
部分。从而防止编辑。
当且仅当我将 paper-input
元素直接移出 iron-data-table
并移入它自己的子元素(我目前称之为 row-detail
元素).
任何人都可以提出可能导致此问题的原因以及解决方法吗?我也很乐意回答任何澄清问题,希望能得到这个问题的答案。
我认为问题在于检测点击事件是否发生在可聚焦元素上。
作为解决方法,您可以尝试将 tabIndex: 0
设置为 row-detail
元素。
为了完整起见,解决问题的@Sauli 提供的已接受答案的代码如下:
项目-list.html
<template is="row-detail">
<div class="detail">
<row-detail item="{{item}}" tabindex="0"></row-detail>
</div>
</template>
我想使用 iron-data-table
来显示和编辑其中一行的详细信息。我希望行详细信息成为主要 iron-data-table
的独立子元素。 Similar to what is shown by this jsBin demo.
当 运行 来自本地服务器上的本地存储库时,以下模式会产生预期的行为。
项目-list.html<template is="row-detail">
<div class="detail">
<paper-input value="{{item.comment}}"</paper-input>
</div>
</template>
但是,以下模式会产生意外行为。
项目-list.html<template is="row-detail">
<div class="detail">
<row-detail item="{{item}}"></row-detail>
</div>
</template>
行-detail.html
<template>
<paper-input value="{{item.comment}}"</paper-input>
</template>
意外的行为是在纸张输入内部单击以聚焦它的行为关闭了 row-detail
部分。从而防止编辑。
当且仅当我将 paper-input
元素直接移出 iron-data-table
并移入它自己的子元素(我目前称之为 row-detail
元素).
任何人都可以提出可能导致此问题的原因以及解决方法吗?我也很乐意回答任何澄清问题,希望能得到这个问题的答案。
我认为问题在于检测点击事件是否发生在可聚焦元素上。
作为解决方法,您可以尝试将 tabIndex: 0
设置为 row-detail
元素。
为了完整起见,解决问题的@Sauli 提供的已接受答案的代码如下:
项目-list.html<template is="row-detail">
<div class="detail">
<row-detail item="{{item}}" tabindex="0"></row-detail>
</div>
</template>