【问题标题】:Polymer/Dart Input with autocomplete具有自动完成功能的 Polymer/Dart 输入
【发布时间】:2014-09-14 13:15:22
【问题描述】:

您是否希望在 Dart 中使用“输入”和“搜索”,最好使用 Polymer。例如,类似于 Google 地图 (www.maps.google.com) 的“输入”和“搜索”。

当您输入“输入”时,会显示一个选项列表,与正在输入的内容相关,您可以在其中选择所需的选项。

在 Polymer / Dart 中实现此行为的简单方法(或示例)是什么?

谢谢!

【问题讨论】:

    标签: dart dart-polymer


    【解决方案1】:

    你甚至不需要 Polymer 来做这个

    http://www.w3schools.com/tags/tag_datalist.asp

    您可以通过绑定到 Polymer 中的值集合来生成 <datalist>

    更新

    <link rel="import" href="../../packages/polymer/polymer.html">
    <link rel="import" href="../../packages/paper_elements/paper_input.html">
    <polymer-element name="app-element">
      <template>
        <style>
          :host {
            display: block;
          }
        </style>
        <paper-input id="pi"></paper-input>
        <datalist id="dl">
          <option>abc</option>
          <option>abcd</option>
          <option>bcd</option>
          <option>bcde</option>
        </datalist>
      </template>
      <script type="application/dart" src="app_element.dart"></script>
    </polymer-element>
    
    import 'dart:html' as dom;
    import 'package:polymer/polymer.dart';
    
    @CustomTag('app-element')
    
    class AppElement extends PolymerElement {
    
      AppElement.created() : super.created() {
      }
    
      attached() {
        super.attached();
        var inp = $['pi'].querySelector('* /deep/ input') as dom.TextInputElement;
        inp.parentNode.append($['dl']); // seems to be only found when it is inside the same shadowRoot
        inp.attributes['list'] = 'dl';  // assign the id of the datalist to the 'list' attribute
      }
    }
    

    【讨论】:

    • 好的,但我想使用纸张输入(或核心输入)聚合物组件来获得此行为。
    • 看来这是正在进行中的工作github.com/Polymer/core-input/issues/27。核心输入(纸张输入扩展核心输入)内部有一个&lt;input&gt;。您可以以编程方式将输入与数据列表连接起来。我想目前在标记中是不可能的。
    • 我对 Polymers 组件的期望是它们至少会带来 HTML5 标准中定义的内容。例如,<... type="search" ...> 是 HTML5 中的标准,我的期望是它也会出现在 Polymer 组件中。显然,您应该将 Polymer 组件视为“不同”和“新”的东西,而不是用新的 HTML5 功能和行为扩展标准的东西!感谢您的关注和 Günter 提示!
    • 核心元素和纸张元素仍在积极开发中,处于早期阶段。如果您需要功能文件,请在该元素的 GitHub 存储库中提出问题。我敢肯定他们想听听你的要求。我想您也可以将这些元素视为扩展浏览器应用程序可能性的尝试,而无需通过 W3C 标准委员会。基本技术是标准化的,但并非每个新标签都需要得到委员会的同意。核心元素和纸张元素是展示、基础......
    猜你喜欢
    • 2023-01-20
    • 2017-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    • 2012-05-20
    • 1970-01-01
    • 2022-08-15
    相关资源
    最近更新 更多