如何在litelement中实现select2

how to implement select2 in litelement

我想知道如何在 litelement 中使用图像实现 select2 下拉菜单。 因为我有动态选项值,如何在 litelement

中使用选项文本框和标志实现 select

我在下面提到了源代码,请知道如何在 litelement

中使用动态选项的标志 select
//my-element.js
import {
  LitElement,
  html,
  css
} from "https://unpkg.com/@polymer/lit-element/lit-element.js?module";
export class Calculator extends LitElement {
  static get properties() {
    return {
      otherCountries: { type: Array }
      };
  }

  constructor() {
    super();
    this.otherCountries = [
      //drop down list
      "Austria",
      "Belgium",
      "Bulgaria",
      "Cyprus",
      "Czech Republic",
      "Denmark",
      "Estonia",
      "Finland",
    ];
  }


  render() {
    return html`
      <link
        rel="stylesheet"
        href="https://maxcdn.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css"
      />

      <form id="form_values" class="form-inline" role="form" autocomplete="off">

              <div class="col-7 form-group mr-auto">
                <div class="arrowicon">
                  <select
                    style="width: 170px"
                    name="sourcecountrycode"
                    class="calcFont form-control"
                    id="sourcecountrycode"
                    @change="${this.sourcecountryChange}"
                    value=""
                  >
                    ${this.countrydata.countries.map(
                      (country, key) => html`
                        <option value=${country.country_code}
                          >${country.country_name}</option
                        >
                      `
                    )}
                  </select>
                </div>
              </div>
        </form>

    `;
  }
}
customElements.define("calculator-home", Calculator);

因为 select2 是基于 jQuery 的 select 盒子的替代品。因此,由于 jQuery 需要将文档 运行 中的所有节点访问到阴影 DOM 的边界,因此目前无法可靠地工作。完整解释 here.

但您可以使用 lit-html 作为代码示例:

Demo