javascript - 从 CDN 导入 Materializecss 并让选择下拉菜单在 ReactJS 中工作?

标签 javascript reactjs select dropdown materialize

我有一个 ReactJS 项目,其中包含 materializecss来自其 CDN:

<head>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
</head>
<body>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>

我的问题是我想初始化一个选择元素。我搜索过类似的问题,都是从 node_modules 导入 M 函数,然后在 componentDidMount() 中调用它。

我想避免 npm install Materialize-css@next 并仅包含来自 CDN 的包。

我尝试了window.M.AutoInit(),没有发生错误,但它甚至没有创建下拉菜单。如何调用M.AutoInit()

最佳答案

我认为我找到了问题的答案。

在构造函数中,您必须添加 this.M = window.M:

constructor() {
    super();
    ...
    this.M = window.M;
    ...
  }

因此,在使用 this.M.AutoInit() 外部构造函数之后应该可以工作!

关于javascript - 从 CDN 导入 Materializecss 并让选择下拉菜单在 ReactJS 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60889804/

相关文章:

javascript - 使用 jekyll-assets 缩小 CSS/JS 的问题

javascript - RabbitMQ amqp.node 与 Nodejs Express 集成

javascript - Next js - 如何在 url 中为 api 传递多个参数?

reactjs - 检查 Firebase 登录是否成功 React.js

javascript - 使用 React + Redux 获取所有选中的复选框及其相关数据

c - 使用 sqlite3 将某些数据分配给结构

javascript - javascript 中的数据上下文交互 (DCI) 和事件编程

javascript - 在网页上的文本框中输入时删除所有空格

SQL - 查找年份子集中的所有代码

mysql - 在 MySQL 上用逗号分隔字段计算流行标签