如何扩展可重复使用的自定义元素列表的纸张下拉菜单?

时间:2015-05-28 16:54:40

标签: list polymer extends

我有一个需要成为可重用组件的时区列表。如何将我的时区列表作为Polymer中的可重用组件?我需要这个自定义元素来提供是否选择了时区(isSelected)以及获取所选时区名称的函数或属性。

这让我很生气!

提前致谢。下面是一个名为'time-zones.html'的组件文件。我删除了我尝试的所有BS JavaScript,因为显然它不起作用。唯一有效的是加载列表。

<link rel="import" href="../polymer/polymer.html">

<link rel="import" href="../paper-dropdown-menu/paper-dropdown-menu.html">
<link rel="import" href="../paper-dropdown/paper-dropdown.html">
<link rel="import" href="../core-menu/core-menu.html">
<link rel="import" href="../paper-item/paper-item.html">


<polymer-element name="lt-timezones-input" attributes="timezones">
    <template>
        <style>    
            paper-dropdown-menu {
              box-sizing: border-box;
              width: 100%;
            }

            core-menu {
              box-sizing: border-box;
              width: 90%;
            }

            paper-item {
              overflow: hidden;
              white-space: nowrap;
              text-overflow: ellipsis;
            }
        </style>
        <paper-dropdown-menu id="ddl" label="Time Zone">
            <paper-dropdown class="dropdown">
                <core-menu class="menu">
                    <template id="list" repeat="{{timezones}}">
                      <paper-item>{{}}</paper-item>
                    </template>
                </core-menu>
            </paper-dropdown>
        </paper-dropdown-menu>
        <!-- shadow DOM here -->
    </template>
    <script>
        Polymer('lt-timezones-input', {
            created: function () {

                this.timezones = [
                    'Eastern Standard Time',
                    'Central Standard time',
                    'Mountain Standard Time',
                    'Pacific Standard Time'
                ];
            }
        });
    </script>    
</polymer-element>

1 个答案:

答案 0 :(得分:1)

以下是一种可能的解决方案:Plunk

core-select事件在这里使用。

<paper-dropdown-menu on-core-select="{{item_changed}}">