> 文档中心 > antd 集成第三方js控件

antd 集成第三方js控件


主思路

使用js集成原始的jsoneditor

详情

集成第三方js控件 jsoneditor,有两个选择 原始的 jsoneditor

GitHub - josdejong/jsoneditor: A web-based tool to view, edit, format, and validate JSON

已经包装为 react 的 jsoneditor-react

GitHub - vankop/jsoneditor-react: react wrapper implementation for https://github.com/josdejong/jsoneditor

后来还是选择用原始jsoneditor,可控性大一点,而且直接集成了ace比较方便。jsoneditor-react里不包括ace,需要另外引入。

ScriptEditor 就是为了换个名字, mode其实是可以引入参数的,这段来自官方的example

import React, { Component } from 'react';import JSONEditor from 'jsoneditor';import 'jsoneditor/dist/jsoneditor.css';import './index.less';export default class ScriptEditor extends Component {  componentDidMount() {    const options = {      mode: 'code',      onChangeJSON: this.props.onChangeJSON,    };    this.jsoneditor = new JSONEditor(this.container, options);    this.jsoneditor.set(this.props.json);  }  componentWillUnmount() {    if (this.jsoneditor) {      this.jsoneditor.destroy();    }  }  componentDidUpdate() {    this.jsoneditor.update(this.props.json);  }  render() {    return 
(this.container = elem)} />; }}

遇到 ide的报警问题,可以简单地在 typing.d.ts 里定义一下。

declare module 'jsoneditor';

参考

官方 GitHub - josdejong/jsoneditor: A web-based tool to view, edit, format, and validate JSON