中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于ts的動態接口數據配置的詳解

發布時間:2020-09-11 02:46:13 來源:腳本之家 閱讀:575 作者:虛光 欄目:web開發

需求前景

前端組件是可復用的,那么復用前端組件時從后端讀取的數據源同樣也需要可復用(后端api也要是配置化的方式進行),前端需要提供配置項給后端進行動態配置生成api。

具體實現流程

基于ts的動態接口數據配置的詳解

名詞解析

mock 規范約束

使用的ts的 interface 進行編譯前校驗,所有的組件接收的 mock 結構,都必須是該 Interface 的實現

解析器

將mock打平成 key,value 結構的工具
eg.

interface I_EchartOption {
 series: {
   data: {
    name: string;
    value: numberOrString;
    unit?: string;
   }[];
 name?: string;
 type: "pie";
}; // 數據集配置
}
const mock:I_EchartOption = {
 series: [
  {
   type: "pie",
   data: [
    {
     name: "中藥",
     value: "2630",
     unit: "家",
     _viewData:{ // 通過組合的自定義屬性
       
     }
    },
   ]
  }
 ]
}
const parsingMock=(mock:I_EchartOption):T_formInfo=>{}
parsingMock(mock)
// 返回一個 Mock 描述,見下文

mock 描述

mock 描述,功能有兩個

  1. 逆向生成 mock
  2. 接收后端傳遞的 build_option.options,渲染控制表單。
type T_formInfo = { // mock 描述的接口
 key: string, // 值得路徑嵌套
 value: string, // 解析出來的value
 build_component: string, // 承載改配置項的表單組件
 build_option: { // 傳遞給表單組件的參數
  options: any[], // 通過請求后端,讓后端進行填充
  [key: string]: any
 },
}
[
    {
      "key": "series.0.data",
      "build_component": "seriesData",
      "build_option": {
        "options":[]
        "dataLength": 1
      },
      "formValue": "",
    },
    {
      "key": "series.0.data.0._viewData",
      "build_label": "副指標series.0.data.0._viewData",
      "build_component": "viewData",
      "build_option": {
        "options":[]
        "isShowTitle": false,
        "_viewDataMaxLength": 1
      },
    },
    {
      "key": "series.0.type",
      "value": "pie"
    }
  ]

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

利辛县| 体育| 铜山县| 台湾省| 巴彦淖尔市| 介休市| 确山县| 体育| 新野县| 平遥县| 绥棱县| 龙川县| 明光市| 贡觉县| 泽州县| 沾化县| 南溪县| 海门市| 浦城县| 康保县| 柘荣县| 卢龙县| 墨竹工卡县| 富阳市| 秦安县| 荔波县| 称多县| 新营市| 从化市| 崇左市| 清镇市| 佛学| 仁寿县| 南汇区| 侯马市| 邮箱| 惠东县| 长子县| 孝感市| 普兰店市| 焉耆|