繁体   English   中英

在 FramerX 中设置 AG-Grid 组件

[英]Setting Up an AG-Grid Component in FramerX

我正在使用 FramerX 制作原型,我们的生产软件使用 Ag-Grid 来制作大量组件。 我需要能够在我最新的原型中加入 Ag-Grid。

有谁知道我如何在最基本的层面上进行设置?

我能够弄清楚如何制作 AG-Grid 入门教程中提供的简单 ag-grid 表: https://stackblitz.com/edit/ag-grid-react-hello-world

诀窍是我忘记了 FramerX 使用 TypeScript 语法,所以对于这个例子有一些需要修改的地方。 下面是我最终使用的代码。 我将通过我必须进行的编辑 go。

import * as React from "react"
import { Frame, addPropertyControls, ControlType } from "framer"
import { AgGridReact } from "@ag-grid-community/react"
import { AllCommunityModules } from "@ag-grid-community/all-modules"

import "@ag-grid-enterprise/all-modules/dist/styles/ag-grid.css"
import "@ag-grid-enterprise/all-modules/dist/styles/ag-theme-material.css"

interface MyProps {}

interface MyState {
    columnDefs: object
    rowData: object
}

export class Simple_Table extends React.Component<MyProps, MyState> {
    //Set the data for the Table
    constructor(props) {
        super(props)
        this.state = {
            //Set the Columns
            columnDefs: [
                {
                headerName: "Make", field: "make"
                }, {
                headerName: "Model", field: "model"
                }, {
                headerName: "Price", field: "price"
                }
            ],
            //Set the actual data
            rowData: [
                {
                make: "Toyota", model: "Celica", price: 35000
                }, {
                make: "Ford", model: "Mondeo", price: 32000
                }, {
                make: "Porsche", model: "Boxter", price: 72000
                }
            ],
        }
    }

    render() {
        return (
            <Frame
                style={{ height: "368px", width: "784px", background: "#FAFAFA" }}
                className="ag-theme-material"
            >
                <AgGridReact
                    columnDefs={this.state.columnDefs}
                    rowData={this.state.rowData}
                    modules={AllCommunityModules}
                ></AgGridReact>
            </Frame>
        )
    }
}

首先,不要像这样在导入中分别调用 React 和 Component:

import React, { Component } from 'react';

我使用通配符导入 React,例如 show Framer 通常会这样做:

import * as React from "react"

那么既然这是 TypeScript 和 React,你需要在组件之前定义接口中的 props 和 states。 确保将状态设置为对象,因为它们将是 arrays。

interface MyProps {}

interface MyState {
    columnDefs: object
    rowData: object
}

然后我重写了组件 function 以在开头有导出,并在 function 中调用“MyProps”和“MyState”接口,再次因为这是 Z558B544CF685F39D34E4903E

export class Simple_Table extends React.Component<MyProps, MyState> {...}

最后但同样重要的是,我通过包含 Framer 的模块将<div>...</div>更改为<Frame>...</Frame>

import { Frame, addPropertyControls, ControlType } from "framer"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM