我的问题是我找不到使用Canvas
标记绑定数据的方法。我想创建一个表元素,其中只传递一组标题和表示要使用的数据的对象数组。
我显示数据的代码如下:
<content>
但是如果我使用这种方式,只有当行具有Id或Descripcion属性时,我的表元素才会起作用。
我想做这样的事情:
<template is="dom-repeat" items="{{rows}}">
<td>{{item.Id}}</td><td>{{item.Descripcion}}</td>
</template>
所以,当我调用我的table元素应该是这样的:
<template is="dom-repeat" items="{{rows}}">
<content></content><!--dynamic item-->
</template>
其中<my-table titles="[arrayOfTitles]" rows="[arrayOfRows]">
<td>{{item.propertyOne}}</td><td>{{item.propertyTwo}}</td><td>{{item.propertyN}}</td>
</my-table>
将在其中包含数据。
这听起来很疯狂?有可能吗?
我尝试过使用<td></td>
功能,但我不知道如何使用它来做我想要的事情。对不起我的英语不好。谢谢!任何帮助都会很棒!
当我使用我的元素时,如下所示:
getDistributedNodes
现在,问题是如何使用更复杂的对象,当我使用对象或数组时,它们显示如下:
正如你所看到的,当我使用对象或数组显示[object Object]时,是否知道如何构造我的表声明以指示它是否有对象?我想做这样的事情:
我的<my-table api-url="../../api/feeApi"
headers='[{"title":"Id"},{"title":"Descripción"},{"title":"Abreviatura"},{"title":"Tipo"},{"title":"Monto($)"},{"title":"Cobrar a"}]'
keys='["Id","Descripcion","ShortName","FeeType","Monto","NivelesEscolares"]'
number-visible-rows="10">
</my-table>
就像@so_confused_所说:
<tbody>
答案 0 :(得分:2)
<tbody>
<template is="dom-repeat" items="{{visibleRows}}" id="tableRow" as="row">
<tr on-tap="rowSelected" class$="{{getClass(row.active)}}" style="cursor:cell;">
<template is="dom-repeat" items="{{headers}}" id="tableRow2" as="column">
<template is="dom-if" if="{{areEquals(column.type, 'object')}}">
<td>{{getObjectValue(column,row)}}</td>
</template>
<template is="dom-if" if="{{areEquals(column.type, 'array')}}">
<td>
<template is="dom-repeat" items="{{getDataArray(column,row)}}">
<li>{{getArrayValue(item,column)}}</li>
</template>
</td>
</template>
<template is="dom-if" if="{{areEquals(column.type, 'text')}}">
<td>{{getValue(column,row)}}</td>
</template>
</template>
</tr>
</template>
</tbody>
根据列的类型调用相应的函数。
答案 1 :(得分:1)
如果您不是一直使用相同的密钥进行渲染,您可以将输入用作数组数组吗?
如果你有一个数组:picker
那么你可以通过迭代嵌套数组来呈现不同长度的行
arr = [["one","two","three","four"],["one","two"],["one","two","three"]];