【发布时间】:2014-07-31 12:15:47
【问题描述】:
我的同事 Patrick 和我目前正在将一个自动完成组件从 Web UI 转换为 Polymer.dart。在 Web UI 中,我们为自动完成提供了一个 HTML 呈现列表,以便让程序员有机会为结果设置样式。根据输入的值,我们过滤列表并显示匹配结果。
为了在 Polymer.dart 中实现相同的行为,您有什么建议?我们应该以完全不同的方式处理这个问题吗?
旧 Web UI 代码:
<template iterate="entry in filteredEntries">
<li class="b-autocomplete-results-li">{{ entry.sanitizedHtml }}</li>
</template>
一个条目的类:
class AutocompleteEntry {
final String id;
final String searchableText;
final Element _element;
AutocompleteEntry(this.id, this.searchableText, this._element) {
// remove the data-id and data-text since we don't need them in the html
_element.dataset.remove('text');
_element.dataset.remove('id');
}
get sanitizedHtml {
var validator = new NodeValidatorBuilder()..allowHtml5();
var documentFragment = document.body.createFragment(_element.outerHtml, validator: validator);
return documentFragment;
}
}
【问题讨论】:
标签: dart polymer dart-polymer