Polymer:可以在select(native或extended)标记内添加<content>吗?

时间:2015-11-27 16:48:38

标签: polymer html-select polymer-1.0

我想扩展原生选择标签功能(不,&#34;纸张下拉菜单&#34;组件对我不好)。

我有一个带有<select>标记的自定义元素,我在其内容中调用了带有<options>的元素。

这是元素的一个例子:

<dom-module id="my-select">
<template>
  <select id="select"
    disabled$="[[disabled]]"
    required$="[[required]]"
    autofocus$="[[autofocus]]"
    name$="[[name]]"
    size$="[[size]]"
    multiple$="[[multiple]]">
      <content></content>
  </select>
</template>
<script>
Polymer({
  is: 'my-select'
});
</script>
</dom-module>

我用:

调用元素
<my-select>
  <option value="1">1</option>
  <option value="1">1</option>
</my-select>

这样,select标签不会显示任何选项(它不会添加内容)。

我还试图扩展选择标记:

<dom-module id="my-select">
<template>
  <select is="iron-select" id="select"
    disabled$="[[disabled]]"
    required$="[[required]]"
    autofocus$="[[autofocus]]"
    name$="[[name]]"
    size$="[[size]]"
    multiple$="[[multiple]]">
      <content></content>
  </select>
</template>
<script>
Polymer({
  is: 'my-select'
});
</script>
</dom-module>

使用&#34;铁选择&#34;:

<link rel="import" href="../polymer/polymer.html">
<script>
  Polymer({
    is: 'iron-select',
    extends: 'select'
  });
</script>

但它也不起作用。

我忘记了什么或者这是不可能的事情(我必须创建一个没有原生选择标签的全新选择组件)?

1 个答案:

答案 0 :(得分:1)

您忘记了,或者至少没有向我们展示您绑定到您的选择的属性的定义! 但是,最好的选择,就像你提到的那样是扩展一个选择:

function change($tekst)
{
    $wynik = strtr($tekst, 'ĘÓĄŚŁŻŹĆŃęóąśłżźćń', 'EOASLZZCNeoaslzzcn');
    return($wynik);
}

// HOOK
function search_filter($query) {
    if ( !is_admin() && $query->is_main_query() ) {
        if ($query->is_search) 
        {
            $q1 = $query->get("s");
            $query->set( 's', $q1.' or '.change($q1) );
        }
    }
}
add_action('pre_get_posts','search_filter');

并像这样使用它:

<dom-module id="my-select">
    <script>
        Polymer({
            is: 'my-select',
            extends: 'select'
            // add your stuff here...
        });
    </script>
</dom-module>

有效JSBIN example