Не работает эффект пульсации mdc-icon-toggle в компонентах материала

Только началось с материальных компонентов. я стараюсь mdc-icon-toggleкод HTML

<i class="mdc-icon-toggle material-icons" role="button" aria-pressed="false" aria-label="Add to favorites" tabindex="0"         
    data-toggle-on='{"label": "Remove from favorites", "content": "favorite"}'
    data-toggle-off='{"label": "Add to favorites", "content": "favorite_border"}' 
    data-mdc-auto-init="MDCIconToggle">
      favorite_border
 </i>

Код JS

const iconEl = document.querySelector('.mdc-icon-toggle');

iconEl.addEventListener('MDCIconToggle:change', ({detail}) => {
  alert(detail.isOn)
});

Базовая функциональность работает нормально, я могу слушать событие, но эффект ряби не работает должным образом, когда я нажимаю на значок, вокруг значка появляется тень, которая никогда уходит, Я что-то упустил, так как это с переключателем тоже?

1 ответ

Я сейчас учусь MDC.

Используйте эту форму, чтобы работать лучше, поместите код javascript в конец вашего тега BODY:

<i class="mdc-icon-toggle material-icons" role="button" aria-pressed="false" aria-label="Add to favorites" tabindex="0"         
    data-toggle-on='{"label": "Remove from favorites", "content": "favorite"}'
    data-toggle-off='{"label": "Add to favorites", "content": "favorite_border"}'>
      favorite_border
 </i>


<script type="text/javascript">
(function() {
      /* MDC Ripple for Toggle button */
      var nodes = document.querySelectorAll('.mdc-icon-toggle');
      for (var i = 0, node; node = nodes[i]; i++) {
        mdc.iconToggle.MDCIconToggle.attachTo(node);
      }
})();
</script>
Другие вопросы по тегам