我有一个ReactJS项目,其中包括来自其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>
我的问题是,我想初始化一个select元素。我搜索过类似的问题,都是从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()
外部构造函数应该可以工作了!