问题描述
我正在尝试编写代码,如果单击树节点,它将在 React Player 组件中显示视频。但什么也没有出现。我的代码如下:
Map.js(这里省略了一些不重要的代码)
import React,{ useEffect,useState } from "react";
import { Tree } from 'primereact/tree';
import ReactPlayer from 'react-player';
import { NodeService } from '../service/NodeService';
const MapDemo = () => {
const [nodes,setNodes] = useState(null);
const [expandedKeys,setExpandedKeys] = useState({});
const nodeService = new NodeService();
const onSelect = (node) => {
setURL(node.children.data)
}
const [url,setURL] = useState()
useEffect(() => {
nodeService.getTreeNodes().then(data => setNodes(data));
},[]); // eslint-disable-line react-hooks/exhaustive-deps
return (
<div>
<div className="card">
<h2>Map</h2>
<Tree value={nodes} expandedKeys={expandedKeys}
onToggle={e => setExpandedKeys(e.value)} onSelect={onSelect}/>
<ReactPlayer align="center" url={url} key={url} controls="true" width="100%" height="425px" playing="true"/>
</div>
</div>
)
}
export default MapDemo;
treenodes.json
{
"root": [
{
"key": "0","label": "Main Building","data": "Buildings Folder","icon": "pi pi-fw pi-home","children": [{
"key": "0-0","label": "Floor 1","data": "Floor Folder","icon": "pi pi-fw pi-align-justify","children": [{ "key": "0-0-0","label": "Camera 1","icon": "pi pi-fw pi-video","data": "https://www.youtube.com/watch?v=Rh7CJu-Ny4o" },{ "key": "0-0-1","label": "Camera 2","data": "https://www.youtube.com/watch?v=UuGhhltfQi8" }]
}]
}
]
}
非常感谢任何帮助。提前致谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)