ws51t4hk1#
把你用的schema贴一下,那个是存在你本地的,点击设计器左下角 ... 可以看到
ws51t4hk2#
把你用的schema贴一下,那个是存在你本地的,点击设计器左下角 ... 可以看到@JackLian
{ "version": "1.0.0", "componentsMap": [ { "package": "@alifd/next", "version": "1.25.23", "exportName": "Input", "main": "", "destructuring": true, "subName": "", "componentName": "Input" }, { "package": "@alifd/next", "version": "1.25.23", "exportName": "Form", "main": "", "destructuring": true, "subName": "Item", "componentName": "Form.Item" }, { "package": "@alifd/next", "version": "1.25.23", "exportName": "Input", "main": "", "destructuring": true, "subName": "Password", "componentName": "Input.Password" }, { "package": "@alifd/next", "version": "1.25.23", "exportName": "Form", "main": "", "destructuring": true, "subName": "Submit", "componentName": "Form.Submit" }, { "package": "@alifd/next", "version": "1.25.23", "exportName": "Form", "main": "", "destructuring": true, "subName": "Reset", "componentName": "Form.Reset" }, { "package": "@alifd/next", "version": "1.25.23", "exportName": "Form", "main": "", "destructuring": true, "subName": "", "componentName": "Form" }, { "package": "@alifd/fusion-ui", "version": "2.0.2", "exportName": "ProTable", "main": "lib/index.js", "destructuring": true, "subName": "", "componentName": "ProTable" }, { "package": "@alifd/layout", "version": "2.4.1", "exportName": "Cell", "main": "lib/index.js", "destructuring": true, "subName": "", "componentName": "FDCell" }, { "package": "@alifd/layout", "version": "2.4.1", "exportName": "Block", "main": "lib/index.js", "destructuring": true, "subName": "", "componentName": "FDBlock" }, { "package": "@alifd/layout", "version": "2.4.1", "exportName": "Section", "main": "lib/index.js", "destructuring": true, "subName": "", "componentName": "FDSection" }, { "package": "@alifd/layout", "version": "2.4.1", "exportName": "Page", "main": "lib/index.js", "destructuring": true, "componentName": "FDPage" }, { "devMode": "lowCode", "componentName": "Page" } ], "componentsTree": [ { "componentName": "Page", "id": "node_dockcviv8fo1", "props": { "ref": "outerView", "style": { "height": "100%" } }, "docId": "doclaqkk3b9", "fileName": "/", "dataSource": { "list": [ { "type": "fetch", "isInit": true, "options": { "params": { "q": { "type": "JSExpression", "value": "this.state.text" } }, "method": "GET", "isCors": true, "timeout": 5000, "headers": {}, "uri": "mock/info.json" }, "id": "info", "shouldFetch": { "type": "JSFunction", "value": "function() { \n console.log('should fetch.....');\n return true; \n}" } }, { "type": "fetch", "isInit": true, "options": { "params": {}, "method": "GET", "isCors": true, "timeout": 5000, "headers": {}, "uri": "mock/info.json" }, "id": "info1", "shouldFetch": { "type": "JSFunction", "value": "function() { \n console.log('should fetch.....');\n return true; \n}" } } ] }, "state": { "text": { "type": "JSExpression", "value": "\"outer\"" }, "isShowDialog": { "type": "JSExpression", "value": "false" } }, "css": "body {\n font-size: 12px;\n}\n\n.button {\n width: 100px;\n color: #ff00ff\n}", "lifeCycles": { "componentDidMount": { "type": "JSFunction", "value": "function componentDidMount() {\n console.log('did mount');\n}", "source": "function componentDidMount() {\n console.log('did mount');\n}" }, "componentWillUnmount": { "type": "JSFunction", "value": "function componentWillUnmount() {\n console.log('will unmount');\n}", "source": "function componentWillUnmount() {\n console.log('will unmount');\n}" } }, "methods": { "testFunc": { "type": "JSFunction", "value": "function testFunc(a) {\n console.log('test func', a);\n}", "source": "function testFunc(a) {\n console.log('test func', a);\n}" }, "onClick": { "type": "JSFunction", "value": "function onClick() {\n this.setState({\n isShowDialog: true\n });\n}", "source": "function onClick() {\n this.setState({\n isShowDialog: true\n });\n}" }, "closeDialog": { "type": "JSFunction", "value": "function closeDialog() {\n this.setState({\n isShowDialog: false\n });\n}", "source": "function closeDialog() {\n this.setState({\n isShowDialog: false\n });\n}" }, "getHelloWorldText": { "type": "JSFunction", "value": "function getHelloWorldText() {\n return this.i18n('i18n-jwg27yo4');\n}", "source": "function getHelloWorldText() {\n return this.i18n('i18n-jwg27yo4');\n}" }, "getHelloWorldText2": { "type": "JSFunction", "value": "function getHelloWorldText2() {\n return this.i18n('i18n-jwg27yo3', {\n name: '絮黎'\n });\n}", "source": "function getHelloWorldText2() {\n return this.i18n('i18n-jwg27yo3', {\n name: '絮黎'\n });\n}" }, "onTestConstantsButtonClicked": { "type": "JSFunction", "value": "function onTestConstantsButtonClicked() {\n console.log('constants.ConstantA:', this.constants.ConstantA);\n console.log('constants.ConstantB:', this.constants.ConstantB);\n}", "source": "function onTestConstantsButtonClicked() {\n console.log('constants.ConstantA:', this.constants.ConstantA);\n console.log('constants.ConstantB:', this.constants.ConstantB);\n}" }, "onTestUtilsButtonClicked": { "type": "JSFunction", "value": "function onTestUtilsButtonClicked() {\n this.utils.demoUtil('param1', 'param2');\n}", "source": "function onTestUtilsButtonClicked() {\n this.utils.demoUtil('param1', 'param2');\n}" } }, "originCode": "class LowcodeComponent extends Component {\n state = {\n \"text\": \"outer\",\n \"isShowDialog\": false\n }\n componentDidMount() {\n console.log('did mount');\n }\n componentWillUnmount() {\n console.log('will unmount');\n }\n testFunc(a) {\n console.log('test func', a);\n }\n onClick() {\n this.setState({\n isShowDialog: true\n });\n }\n closeDialog() {\n this.setState({\n isShowDialog: false\n });\n }\n getHelloWorldText() {\n return this.i18n('i18n-jwg27yo4');\n }\n getHelloWorldText2() {\n return this.i18n('i18n-jwg27yo3', {\n name: '絮黎',\n });\n }\n onTestConstantsButtonClicked() {\n console.log('constants.ConstantA:', this.constants.ConstantA);\n console.log('constants.ConstantB:', this.constants.ConstantB);\n\t}\n\tonTestUtilsButtonClicked(){\n this.utils.demoUtil('param1', 'param2');\n\t}\n}", "hidden": false, "title": "", "isLocked": false, "condition": true, "conditionGroup": "", "children": [ { "componentName": "Form", "id": "node_oclivic1ti1d", "props": { "labelCol": { "span": 2 }, "wrapperCol": { "span": 14 }, "labelAlign": "left", "__events": { "eventDataList": [ { "type": "componentEvent", "name": "onSubmit", "relatedEventName": "onClick" } ], "eventList": [ { "name": "saveField", "disabled": false }, { "name": "onSubmit", "disabled": true }, { "name": "onChange", "disabled": false } ] }, "onSubmit": { "type": "JSFunction", "value": "function(){return this.onClick.apply(this,Array.prototype.slice.call(arguments).concat([])) }" } }, "hidden": false, "title": "", "isLocked": false, "condition": true, "conditionGroup": "", "children": [ { "componentName": "Form.Item", "id": "node_oclivic1ti1e", "props": { "label": "Email: ", "required": true }, "hidden": false, "title": "", "isLocked": false, "condition": true, "conditionGroup": "", "children": [ { "componentName": "Input", "id": "node_oclivic1ti1f", "props": { "name": "email", "size": "medium", "placeholder": "用户名" }, "hidden": false, "title": "", "isLocked": false, "condition": true, "conditionGroup": "" } ] }, { "componentName": "Form.Item", "id": "node_oclivic1ti1g", "props": { "label": "Password: ", "required": true }, "hidden": false, "title": "", "isLocked": false, "condition": true, "conditionGroup": "", "children": [ { "componentName": "Input.Password", "id": "node_oclivic1ti1h", "props": { "name": "password", "placeholder": "请输入密码", "size": "medium" }, "hidden": false, "title": "", "isLocked": false, "condition": true, "conditionGroup": "" } ] }, { "componentName": "Form.Item", "id": "node_oclivic1ti1i", "props": { "label": "\b" }, "hidden": false, "title": "", "isLocked": false, "condition": true, "conditionGroup": "", "children": [ { "componentName": "Form.Submit", "id": "node_oclivic1ti1j", "props": { "type": "primary", "validate": true, "children": "Submit" }, "hidden": false, "title": "", "isLocked": false, "condition": true, "conditionGroup": "" }, { "componentName": "Form.Reset", "id": "node_oclivic1ti1k", "props": { "style": { "marginLeft": 10 }, "children": "Reset" }, "hidden": false, "title": "", "isLocked": false, "condition": true, "conditionGroup": "" } ] } ] }, { "componentName": "FDPage", "id": "node_oclfjpfqjy5", "props": { "contentProps": { "style": { "background": "rgba(255,255,255,0)" } }, "ref": "fdpage-bb43fbb0" }, "title": "页面", "hidden": false, "isLocked": false, "condition": true, "conditionGroup": "", "children": [ { "componentName": "FDSection", "id": "node_oclivibrn919", "props": {}, "title": "区域", "hidden": false, "isLocked": false, "condition": true, "conditionGroup": "", "children": [ { "componentName": "FDBlock", "id": "node_oclivibrn91a", "props": { "span": 12 }, "title": "区块", "hidden": false, "isLocked": false, "condition": true, "conditionGroup": "", "children": [ { "componentName": "FDCell", "id": "node_oclivibrn91b", "props": {}, "title": "容器", "hidden": false, "isLocked": false, "condition": true, "conditionGroup": "", "children": [ { "componentName": "ProTable", "id": "node_oclivic9k01u", "props": { "dataSource": [ { "id": "id-2f5DdE2b-0", "date": "2013-06-12", "percent": 1.862, "documentAmount": 2022, "currency": "CNY", "company": "支付宝科技有限公司" }, { "id": "id-2f5DdE2b-1", "date": "2013-06-12", "percent": 1.862, "documentAmount": 2022, "currency": "CNY", "company": "支付宝科技有限公司" } ], "actionColumnButtons": { "dataSource": [ { "children": "查看", "type": "primary" }, { "children": "编辑", "type": "primary", "disabled": true }, { "children": "删除", "type": "primary" } ], "text": true, "visibleButtonCount": 3 }, "actionBarButtons": { "dataSource": [ { "type": "primary", "children": "操作一" }, { "type": "normal", "children": "操作二" } ], "visibleButtonCount": 3 }, "paginationProps": { "pageSize": 5, "current": 1, "hidden": false, "total": 100 }, "settingButtons": true, "columns": [ { "title": "公司", "dataIndex": "company", "width": 160, "formatType": "link", "searchable": true }, { "title": "单据金额", "dataIndex": "documentAmount", "formatType": "money" }, { "title": "币种", "dataIndex": "currency", "formatType": "currency", "filters": [ { "label": "CNY", "value": "CNY" }, { "label": "USD", "value": "USD" }, { "label": "JPY", "value": "JPY" }, { "label": "HKD", "value": "HKD" } ], "filterMode": "multiple", "explanation": "提示信息", "width": 110 }, { "title": "完成进度", "dataIndex": "percent", "formatType": "progress" }, { "title": "到账日期", "dataIndex": "date", "formatType": "date" } ], "primaryKey": "id", "actionColumnProps": { "title": "操作" }, "indexColumn": false, "hasBorder": false, "isZebra": false, "fixedHeader": false, "ref": "protable-344adc1e" }, "hidden": false, "title": "", "isLocked": false, "condition": true, "conditionGroup": "", "loopArgs": [ "", "" ] } ] } ] } ] } ] } ] } ], "i18n": { "zh-CN": { "i18n-jwg27yo4": "你好 ", "i18n-jwg27yo3": "{name} 博士" }, "en-US": { "i18n-jwg27yo4": "Hello ", "i18n-jwg27yo3": "Doctor {name}" } }}
{
"version": "1.0.0",
"componentsMap": [
"package": "@alifd/next",
"version": "1.25.23",
"exportName": "Input",
"main": "",
"destructuring": true,
"subName": "",
"componentName": "Input"
},
"exportName": "Form",
"subName": "Item",
"componentName": "Form.Item"
"subName": "Password",
"componentName": "Input.Password"
"subName": "Submit",
"componentName": "Form.Submit"
"subName": "Reset",
"componentName": "Form.Reset"
"componentName": "Form"
"package": "@alifd/fusion-ui",
"version": "2.0.2",
"exportName": "ProTable",
"main": "lib/index.js",
"componentName": "ProTable"
"package": "@alifd/layout",
"version": "2.4.1",
"exportName": "Cell",
"componentName": "FDCell"
"exportName": "Block",
"componentName": "FDBlock"
"exportName": "Section",
"componentName": "FDSection"
"exportName": "Page",
"componentName": "FDPage"
"devMode": "lowCode",
"componentName": "Page"
}
],
"componentsTree": [
"componentName": "Page",
"id": "node_dockcviv8fo1",
"props": {
"ref": "outerView",
"style": {
"height": "100%"
"docId": "doclaqkk3b9",
"fileName": "/",
"dataSource": {
"list": [
"type": "fetch",
"isInit": true,
"options": {
"params": {
"q": {
"type": "JSExpression",
"value": "this.state.text"
"method": "GET",
"isCors": true,
"timeout": 5000,
"headers": {},
"uri": "mock/info.json"
"id": "info",
"shouldFetch": {
"type": "JSFunction",
"value": "function() { \n console.log('should fetch.....');\n return true; \n}"
"params": {},
"id": "info1",
]
"state": {
"text": {
"value": "\"outer\""
"isShowDialog": {
"value": "false"
"css": "body {\n font-size: 12px;\n}\n\n.button {\n width: 100px;\n color: #ff00ff\n}",
"lifeCycles": {
"componentDidMount": {
"value": "function componentDidMount() {\n console.log('did mount');\n}",
"source": "function componentDidMount() {\n console.log('did mount');\n}"
"componentWillUnmount": {
"value": "function componentWillUnmount() {\n console.log('will unmount');\n}",
"source": "function componentWillUnmount() {\n console.log('will unmount');\n}"
"methods": {
"testFunc": {
"value": "function testFunc(a) {\n console.log('test func', a);\n}",
"source": "function testFunc(a) {\n console.log('test func', a);\n}"
"onClick": {
"value": "function onClick() {\n this.setState({\n isShowDialog: true\n });\n}",
"source": "function onClick() {\n this.setState({\n isShowDialog: true\n });\n}"
"closeDialog": {
"value": "function closeDialog() {\n this.setState({\n isShowDialog: false\n });\n}",
"source": "function closeDialog() {\n this.setState({\n isShowDialog: false\n });\n}"
"getHelloWorldText": {
"value": "function getHelloWorldText() {\n return this.i18n('i18n-jwg27yo4');\n}",
"source": "function getHelloWorldText() {\n return this.i18n('i18n-jwg27yo4');\n}"
"getHelloWorldText2": {
"value": "function getHelloWorldText2() {\n return this.i18n('i18n-jwg27yo3', {\n name: '絮黎'\n });\n}",
"source": "function getHelloWorldText2() {\n return this.i18n('i18n-jwg27yo3', {\n name: '絮黎'\n });\n}"
"onTestConstantsButtonClicked": {
"value": "function onTestConstantsButtonClicked() {\n console.log('constants.ConstantA:', this.constants.ConstantA);\n console.log('constants.ConstantB:', this.constants.ConstantB);\n}",
"source": "function onTestConstantsButtonClicked() {\n console.log('constants.ConstantA:', this.constants.ConstantA);\n console.log('constants.ConstantB:', this.constants.ConstantB);\n}"
"onTestUtilsButtonClicked": {
"value": "function onTestUtilsButtonClicked() {\n this.utils.demoUtil('param1', 'param2');\n}",
"source": "function onTestUtilsButtonClicked() {\n this.utils.demoUtil('param1', 'param2');\n}"
"originCode": "class LowcodeComponent extends Component {\n state = {\n \"text\": \"outer\",\n \"isShowDialog\": false\n }\n componentDidMount() {\n console.log('did mount');\n }\n componentWillUnmount() {\n console.log('will unmount');\n }\n testFunc(a) {\n console.log('test func', a);\n }\n onClick() {\n this.setState({\n isShowDialog: true\n });\n }\n closeDialog() {\n this.setState({\n isShowDialog: false\n });\n }\n getHelloWorldText() {\n return this.i18n('i18n-jwg27yo4');\n }\n getHelloWorldText2() {\n return this.i18n('i18n-jwg27yo3', {\n name: '絮黎',\n });\n }\n onTestConstantsButtonClicked() {\n console.log('constants.ConstantA:', this.constants.ConstantA);\n console.log('constants.ConstantB:', this.constants.ConstantB);\n\t}\n\tonTestUtilsButtonClicked(){\n this.utils.demoUtil('param1', 'param2');\n\t}\n}",
"hidden": false,
"title": "",
"isLocked": false,
"condition": true,
"conditionGroup": "",
"children": [
"componentName": "Form",
"id": "node_oclivic1ti1d",
"labelCol": {
"span": 2
"wrapperCol": {
"span": 14
"labelAlign": "left",
"__events": {
"eventDataList": [
"type": "componentEvent",
"name": "onSubmit",
"relatedEventName": "onClick"
"eventList": [
"name": "saveField",
"disabled": false
"disabled": true
"name": "onChange",
"onSubmit": {
"value": "function(){return this.onClick.apply(this,Array.prototype.slice.call(arguments).concat([])) }"
"componentName": "Form.Item",
"id": "node_oclivic1ti1e",
"label": "Email: ",
"required": true
"componentName": "Input",
"id": "node_oclivic1ti1f",
"name": "email",
"size": "medium",
"placeholder": "用户名"
"conditionGroup": ""
"id": "node_oclivic1ti1g",
"label": "Password: ",
"componentName": "Input.Password",
"id": "node_oclivic1ti1h",
"name": "password",
"placeholder": "请输入密码",
"size": "medium"
"id": "node_oclivic1ti1i",
"label": "\b"
"componentName": "Form.Submit",
"id": "node_oclivic1ti1j",
"type": "primary",
"validate": true,
"children": "Submit"
"componentName": "Form.Reset",
"id": "node_oclivic1ti1k",
"marginLeft": 10
"children": "Reset"
"componentName": "FDPage",
"id": "node_oclfjpfqjy5",
"contentProps": {
"background": "rgba(255,255,255,0)"
"ref": "fdpage-bb43fbb0"
"title": "页面",
"componentName": "FDSection",
"id": "node_oclivibrn919",
"props": {},
"title": "区域",
"componentName": "FDBlock",
"id": "node_oclivibrn91a",
"span": 12
"title": "区块",
"componentName": "FDCell",
"id": "node_oclivibrn91b",
"title": "容器",
"componentName": "ProTable",
"id": "node_oclivic9k01u",
"dataSource": [
"id": "id-2f5DdE2b-0",
"date": "2013-06-12",
"percent": 1.862,
"documentAmount": 2022,
"currency": "CNY",
"company": "支付宝科技有限公司"
"id": "id-2f5DdE2b-1",
"actionColumnButtons": {
"children": "查看",
"type": "primary"
"children": "编辑",
"children": "删除",
"text": true,
"visibleButtonCount": 3
"actionBarButtons": {
"children": "操作一"
"type": "normal",
"children": "操作二"
"paginationProps": {
"pageSize": 5,
"current": 1,
"total": 100
"settingButtons": true,
"columns": [
"title": "公司",
"dataIndex": "company",
"width": 160,
"formatType": "link",
"searchable": true
"title": "单据金额",
"dataIndex": "documentAmount",
"formatType": "money"
"title": "币种",
"dataIndex": "currency",
"formatType": "currency",
"filters": [
"label": "CNY",
"value": "CNY"
"label": "USD",
"value": "USD"
"label": "JPY",
"value": "JPY"
"label": "HKD",
"value": "HKD"
"filterMode": "multiple",
"explanation": "提示信息",
"width": 110
"title": "完成进度",
"dataIndex": "percent",
"formatType": "progress"
"title": "到账日期",
"dataIndex": "date",
"formatType": "date"
"primaryKey": "id",
"actionColumnProps": {
"title": "操作"
"indexColumn": false,
"hasBorder": false,
"isZebra": false,
"fixedHeader": false,
"ref": "protable-344adc1e"
"loopArgs": [
"",
""
"i18n": {
"zh-CN": {
"i18n-jwg27yo4": "你好 ",
"i18n-jwg27yo3": "{name} 博士"
"en-US": {
"i18n-jwg27yo4": "Hello ",
"i18n-jwg27yo3": "Doctor {name}"
huus2vyu3#
无法复现,你录个屏看一下吧
zwghvu4y4#
已复现,我们查一下
waxmsbnn5#
@eternalsky 组件不可见的原因,跟这里 ghost 的配置有关系。
另外,点击两次提交按钮,按钮会刷新 iframe,这个问题也需要处理一下。
5条答案
按热度按时间ws51t4hk1#
把你用的schema贴一下,那个是存在你本地的,点击设计器左下角 ... 可以看到
ws51t4hk2#
把你用的schema贴一下,那个是存在你本地的,点击设计器左下角 ... 可以看到
@JackLian
huus2vyu3#
无法复现,你录个屏看一下吧
zwghvu4y4#
无法复现,你录个屏看一下吧
已复现,我们查一下
waxmsbnn5#
@eternalsky 组件不可见的原因,跟这里 ghost 的配置有关系。
另外,点击两次提交按钮,按钮会刷新 iframe,这个问题也需要处理一下。