import * as React from 'react'; import JqxExpander from 'jqwidgets-scripts/jqwidgets-react-tsx/jqxexpander'; class App extends React.PureComponent<{}> { private myExpander = React.createRef(); constructor(props: {}) { super(props); } public componentDidMount() { fetch('jqxexpanderxmldata.xml') .then(response => response.text()) .then(data => this.populateExpander(data)); } public render() { return (
Loading Header...
Loading Content...
); } private populateExpander(data: any) { const content = document.createElement('div'); content.innerHTML = data; const LIArray = content.getElementsByTagName('li'); const container = document.createElement('div'); const ul = document.createElement('ul'); Array.prototype.forEach.call(LIArray, (liItem: HTMLLIElement) => { const li = document.createElement('li'); li.innerText = liItem.innerHTML; ul.appendChild(li); }); container.appendChild(ul); this.myExpander.current!.setContent(container.outerHTML); this.myExpander.current!.setHeaderContent(content.getElementsByTagName('header')[0].innerHTML); } } export default App;