У меня есть страница с компонентом React, который использует несколько тегов сведений / сводок:
const React = require("react");
class samplePage extends React.Component {
render() {
const siteConfig = this.props.config;
return (
<div>
<details>
<summary>
First text detail.
</summary>
</details>
<details>
<summary>
Second text detail.
</summary>
</details>
<details>
<summary>
Third text detail.
</summary>
</details>
<button onClick="OpenAll()">Open All Details.</button>
<button onClick="CloseAll()">Close All Details.</button>
</div>
);
}
}
module.exports = samplePage;
У меня есть глобальный siteConfig.js
для настройки моих сценариев:
scripts: [
"js/script1.js",
"js/script2.js",
"js/script3.js"
],
С2 функции для добавления или удаления атрибута "open" из вышеприведенных подробных тегов:
function CloseAll() {
$("details").removeAttr("open");
}
function OpenAll() {
$("details").attr("open", "open");
}
Я знаю, что две функции в моем основном файле сценария импортируются через siteConfig.js
, так как остальные мои функции работают безвопрос. Как видно из примера страницы, теги кнопок, которые запускают функции OpenAll
/ CloseAll
, расположены внутри div
с другими тегами сведений.
Я думал, что мой метод хорош, нони одна из кнопок не дает желаемого эффекта. Я подозреваю, что это как-то связано с областью действия функции или с моей текущей настройкой (я использую Docusaurus, что-то вроде «Создать приложение React»). Я не думаю, что я сделал что-то необычное для такого проекта. Ценю любые отзывы.