【发布时间】:2020-07-19 03:52:26
【问题描述】:
我正在尝试将材质组件 IconButton 与 React 一起使用。
材料设计:https://material-components.github.io/material-components-web-catalog/#/component/icon-button
它可以工作并显示元素并进行重复。但是切换不起作用。
这是我在 chrome 的 devtool 中的代码和元素树。
请教我解决方案。
import React, { useEffect } from 'react';
import { MDCIconButtonToggle } from '@material/icon-button';
const ButtonLike = () => {
useEffect(() => {
const iconToggle = new MDCIconButtonToggle(
document.querySelector('.mdc-icon-button'),
);
iconToggle.on = true;
});
return (
<button
id="add-to-favorites"
className="mdc-icon-button mdc-icon-button--on"
aria-label="Add to favorites"
aria-pressed="false"
>
<i className="material-icons mdc-icon-button__icon mdc-icon-button__icon--on">favorite</i>
<i className="material-icons mdc-icon-button__icon">favorite_border</i>
</button>
);
};
export default ButtonLike;
元素树
<button id="add-to-favorites" class="mdc-icon-button mdc-icon-button--on" aria-label="Add to favorites" aria-pressed="false">
<i class="material-icons mdc-icon-button__icon mdc-icon-button__icon--on">
favorite
</i>
<i class="material-icons mdc-icon-button__icon">
favorite_border
</i>
</button>
【问题讨论】:
-
怎么不行?它是保持“开启”还是什么?
-
感谢您的提问,hackape。在这种情况下,它继续存在。因为“iconToggle.on”值设置为“true”。如果它更改为“false”,它就会保持关闭状态。
-
“关闭”表示显示“favorite_border”图标。单击该图标时,波纹效果起作用。我没有写但也添加了scss模块。而且看起来效果不错。
标签: javascript reactjs material-design