FcDesigner 是一款基于Vue的開源低代碼可視化表單設計器工具,通過數據驅動表單渲染。可以通過拖拽的方式快速創建表單,提高開發者對表單的開發效率,節省開發者的時間。并廣泛應用于在政務系統、OA系統、ERP系統、電商系統、流程管理等領域。
源碼地址: Github | Gitee | 文檔 | 在線演示
本文詳解事件回調中 $inject
參數的數據結構及各項屬性說明。
數據結構
type Inject = {api: API,//表單的 APIself: Rule,//當前組件的生成規則option: Object,//表單全局配置args: any[],//函數的原始參數
}
示例 1: 調用 API 方法
const api = $inject.api;
const formData = api.formData();
示例 2: 獲取事件的原始參數
例如組件觸發 change 事件時,會傳遞出當前的 value 值。
emit('change', value);
//or
//props.change(value);
獲取 value 值
const value = $inject.args[0];
如果事件存在多個參數時
emit('beforeUpload', file, fileList);
//or
//props.beforeUpload(file, fileList);
獲取參數
const file = $inject.args[0];
const fileList = $inject.args[1];
示例3: 修改當前組件規則
例如當 value 修改后通過接口修改組件狀態
const api = $inject.api;
const value = $inject.args[0];
api.fetch({action: '/api/getdata',query:{value}
}).then(res=>{//修改自己$inject.self.options = res.data;//修改其他組件$inject.api.getRule('name').value = res.name;
})