MDC TextField工作,但开关不工作

时间:2019-08-11 06:22:03

标签: node.js material-design material-components-web

我正在使用express和material-components-web编写一个Node应用程序,但是TextField可以正常工作,但是Switch不能。.

这是我用来将相关JS附加到元素上的代码:

db1 db = new db1();
db.chageconnection(db2);

当我注释掉文本字段的代码时,它停止工作,因此mdc.textField.MDCTextField部分肯定可以工作。

我在Chrome开发工具中遇到的错误是:

  [].slice.call(document.querySelectorAll('.mdc-text-field')).forEach(
  function(ele) {
    mdc.textField.MDCTextField.attachTo(ele);
  });

  [].slice.call(document.querySelectorAll('.mdc-switch')).forEach(
  function(ele) {
    mdc.switch.MDCSwitch.attachTo(ele);
  });

我的package.json文件如下:

(index):446 Uncaught TypeError: Cannot read property 'MDCSwitch' of undefined
    at (index):446
    at Array.forEach (<anonymous>)
    at (index):444

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

原来我应该使用的代码是:

  [].slice.call(document.querySelectorAll('.mdc-switch')).forEach(
  function(ele) {
    mdc.switchControl.MDCSwitch.attachTo(ele);
  });

要解决这个问题,我将mdc对象打印到控制台以查找所有不同的项目:

enter image description here

答案 1 :(得分:1)

关于为什么与众不同的一些历史。

switch是JS中的保留关键字,因此必须修改组件名称。