如何在React框架中使用SpreadJS,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
首先,我们需要在页面中添加对React的引用:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>SpreadJS React Demo</title> <script src="https://unpkg.com/react@16/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script> </head> </html>
在这个页面中,我们将使用Babel的预编译版本(称为babel-standalone),因此我们也会添加一个对此的引用:
<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
最后,添加对Spread.Sheets的引用:
<script src="http://cdn.grapecity.com/spreadjs/hosted/scripts/gc.spread.sheets.all.11.0.0.min.js"></script> <link rel="stylesheet" type="text/css" href="http://cdn.grapecity.com/spreadjs/hosted/css/gc.spread.sheets.excel2013white.11.0.0.css">
在我们编写任何脚本之前,我们需要定义一个DIV元素来包含Spread实例。我们称之为“root”。
<div id="root"></div>
接下来,在页面中添加一个脚本元素。我们将把所有的代码放在这里:
<script type="text/babel"> </script>
然后,为Spread.Sheets定义一个React组件,以便我们可以定义一个扩展React.Component的类:
class ReactSpreadJS extends React.Component{ }
该类需要在其中定义componentDidMount和render函数。componentDidMount函数在组件被挂载后立即被调用,所以我们用它来初始化Spread实例:
componentDidMount() { //In the DidMount life cycle, we initialize Spread Sheet instance, and the host is defined in the Component template. let spread = new GC.Spread.Sheets.Workbook(this.refs.spreadJs, {sheetCount: 3}); if(this.props.workbookInitialized){ this.props.workbookInitialized(spread); } }
接下来,在渲染函数中定义Spread.Sheets DOM元素:
render() { //Define the Spread.Sheets DOM template return( <div ref="spreadJs" style={{width:'100%',height:'100%'}}>); }
首先,通过App类定义应用程序React组件:
//Define the application react component. class App extends React.Component{ }
接下来,添加一个您将调用ReactSpreadJS组件的渲染函数:
render(){ //In the root component, it include one ReactSpreadJS component. return( <div style={{width:'800px',height:'600px'}}> <ReactSpreadJS workbookInitialized = {(spread)=>{console.log(spread)}}> </ReactSpreadJS> </div> ) }
要完成脚本,请告诉React通过使用ReactDOM.render来初始化应用程序:
ReactDOM.render( //Main entry, initialize application react component. <App/>, document.getElementById('root') );
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。