Polymer Vaadin网格:使用dom repeat时绑定到动态过滤器变量

Polymer Vaadin网格:使用dom repeat时绑定到动态过滤器变量,polymer,vaadin,dom-repeat,Polymer,Vaadin,Dom Repeat,我正在使用vaadin数据网格和dom repeat模板来创建。我还在网格的页脚中使用过滤器 我需要该过滤器的输入文本字段中的占位符文本,因此我必须设置输入标记。出现问题的部分是值。在Vaadin网格中,这是一个静态命名的变量,等于列名,以\u filter开头,然后附加文本字段的值(::input) 如果我将其硬编码为\u inputHost::input,它将绑定到“host”列的动态生成属性,但仅限于此列。它还会导致排序中断 在下面的示例中,我使用了\u filterXXXXXXX::in

我正在使用vaadin数据网格和
dom repeat
模板来创建。我还在网格的页脚中使用过滤器

我需要该过滤器的输入文本字段中的占位符文本,因此我必须设置输入标记。出现问题的部分是
。在Vaadin网格中,这是一个静态命名的变量,等于列名,以
\u filter
开头,然后附加文本字段的值(
::input

如果我将其硬编码为
\u inputHost::input
,它将绑定到“host”列的动态生成属性,但仅限于此列。它还会导致排序中断

在下面的示例中,我使用了
\u filterXXXXXXX::input
。我应该用什么来代替

HTML:


首先,我以前从未使用过瓦丁网格,如果我错了,请道歉

我认为
\u filterXXXXXXX
可以是任何变量,但如果您使用纯字符串,该变量将附加到主机,因此您应该使用另一个变量。我认为最简单的方法之一是使用
item
变量(
column
,在您的例子中),例如
item.filter

所以你的代码应该是

<vaadin-grid-filter aria-label="[[column]]" path="[[column]]" value="[[column.filter]]">
  <input placeholder="[[column]]" slot="filter" value="{{column.filter::input}}" focus-target>
</vaadin-grid-filter>


当然,我没有测试它,很抱歉。

首先,我以前从未使用过
vaadin网格
,如果我错了,很抱歉

我认为
\u filterXXXXXXX
可以是任何变量,但如果您使用纯字符串,该变量将附加到主机,因此您应该使用另一个变量。我认为最简单的方法之一是使用
item
变量(
column
,在您的例子中),例如
item.filter

所以你的代码应该是

<vaadin-grid-filter aria-label="[[column]]" path="[[column]]" value="[[column.filter]]">
  <input placeholder="[[column]]" slot="filter" value="{{column.filter::input}}" focus-target>
</vaadin-grid-filter>


当然,我没有测试它。很抱歉。

谢谢您的帮助!不幸的是,虽然这会填充占位符文本,但会破坏筛选。当一个人在filter文本字段中输入文本时,永远不会调用dataProvider,因此不能调用filter函数。相反,我在控制台中看到了一个JS错误:
TypeError:无法在“主机”上分配属性“过滤器”:而不是一个对象,其中“主机”是列名。哦,糟糕,我应该注意到这一点。您的
应该是它可以具有属性的对象数组。
dataProvider
以前工作过吗?可能是因为这个错误而中断。谢谢你的帮助!不幸的是,虽然这会填充占位符文本,但会破坏筛选。当一个人在filter文本字段中输入文本时,永远不会调用dataProvider,因此不能调用filter函数。相反,我在控制台中看到了一个JS错误:
TypeError:无法在“主机”上分配属性“过滤器”:而不是一个对象,其中“主机”是列名。哦,糟糕,我应该注意到这一点。您的
应该是它可以具有属性的对象数组。
dataProvider
以前工作过吗?可能是因为这个错误而中断。
<vaadin-grid-filter aria-label="[[column]]" path="[[column]]" value="[[column.filter]]">
  <input placeholder="[[column]]" slot="filter" value="{{column.filter::input}}" focus-target>
</vaadin-grid-filter>