【问题标题】:manually trigger 'change' event on Material Design select component在 Material Design 选择组件上手动触发“更改”事件
【发布时间】:2021-09-16 16:00:59
【问题描述】:

我在the instructions here 之后设置了一个 Material Design 选择

<div class="mdc-select mdc-select--filled demo-width-class">
  <div class="mdc-select__anchor"
       role="button"
       aria-haspopup="listbox"
       aria-expanded="false"
       aria-labelledby="demo-label demo-selected-text">
    <span class="mdc-select__ripple"></span>
    <span id="demo-label" class="mdc-floating-label">Pick a Food Group</span>
    <span class="mdc-select__selected-text-container">
      <span id="demo-selected-text" class="mdc-select__selected-text"></span>
    </span>
    <span class="mdc-select__dropdown-icon">
      <svg
          class="mdc-select__dropdown-icon-graphic"
          viewBox="7 10 10 5" focusable="false">
        <polygon
            class="mdc-select__dropdown-icon-inactive"
            stroke="none"
            fill-rule="evenodd"
            points="7 10 12 15 17 10">
        </polygon>
        <polygon
            class="mdc-select__dropdown-icon-active"
            stroke="none"
            fill-rule="evenodd"
            points="7 15 12 10 17 15">
        </polygon>
      </svg>
    </span>
    <span class="mdc-line-ripple"></span>
  </div>

  <div class="mdc-select__menu mdc-menu mdc-menu-surface mdc-menu-surface--fullwidth">
    <ul class="mdc-list" role="listbox" aria-label="Food picker listbox">
      <li class="mdc-list-item mdc-list-item--selected" aria-selected="true" data-value="" role="option">
        <span class="mdc-list-item__ripple"></span>
      </li>
      <li class="mdc-list-item" aria-selected="false" data-value="grains" role="option">
        <span class="mdc-list-item__ripple"></span>
        <span class="mdc-list-item__text">
          Bread, Cereal, Rice, and Pasta
        </span>
      </li>
      <li class="mdc-list-item mdc-list-item--disabled" aria-selected="false" data-value="vegetables" aria-disabled="true" role="option">
        <span class="mdc-list-item__ripple"></span>
        <span class="mdc-list-item__text">
          Vegetables
        </span>
      </li>
      <li class="mdc-list-item" aria-selected="false" data-value="fruit" role="option">
        <span class="mdc-list-item__ripple"></span>
        <span class="mdc-list-item__text">
          Fruit
        </span>
      </li>
    </ul>
  </div>
</div>

Javascript 实例化很简单:

import {MDCSelect} from '@material/select';
const select = new MDCSelect(document.querySelector('.mdc-select'));

但我找不到任何有关如何触发更改的文档。

This issue 建议在选择时使用.emit('change')。但这不起作用。

select.emit('change'); // nothing happens

如何在 Material Design 选择组件上手动触发“更改”事件?

【问题讨论】:

    标签: javascript material-components-web


    【解决方案1】:

    这行得通:

    select.emit('MDCSelect:change');
    

    【讨论】:

      猜你喜欢
      • 2020-11-25
      • 1970-01-01
      • 2021-12-08
      • 2021-08-28
      • 2013-12-13
      • 1970-01-01
      • 2013-04-08
      • 2017-12-10
      • 2014-02-12
      相关资源
      最近更新 更多