Js動態新增聯絡人並傳資料?

時間 2021-07-11 17:04:05

1樓:

假設同樣的介面,對應著三種型別的不同字段,注意

非自然人(假設為機器),其姓名是 GUID,用來模擬 input name 與欄位名稱不完全匹配的情況

從介面顯示來看,每種型別可以定義乙個字段列表,在介面顯示的時候,根據選擇的型別的決定這些 input 的顯示/隱藏狀態,比如

const

fields=;

型別選擇控制項可以這樣定義

name

="type"

>

value

="person"

>人option

>

value

="machine"

>非自然人

option

>

value

="legalPersn"

>法人option

>select

>所以當型別選擇之後,可以直接通過控制項的值找到字段列表,然後用乙個迴圈控制 input們的顯示/隱藏。不過這裡要注意,machine型別下的 guid 沒有對應的 input,所以需要進行對映,這樣可以把 fields中每項的定義從陣列修改為物件,或者混合型別(混合型別比較複雜,所以以這個為例)

const

fields=],

legalPerson:[

"id"

,"name"

,"enterprise"]};

現在取字段列表要麻煩一點了,定義成乙個函式

function

parseFieldNames

(def

)else

return

acc;

},);

}不過每次取列表都呼叫這個函式有點浪費 CPU,所以可以改為浪費空間的做法,提前準備好

const

fieldNames

=Object

.keys

(fields).

reduce

((acc

,key

)=>,{});

最後是取值的問題,先按所有 input定義可以取出來乙個類似這樣的資料

可以按之前定義的 fieldNames把需要的資訊過濾出來,無非再與個 reduce。不過只要型別確定了,後端一般都會幹這個事情,所以這裡不單獨寫了。關鍵的是要在非自然人的情況下把 name 對映成 guid,然後也是乙個 reduce,配合剛才的需求,可以

function

filterData

(data

,type

) 這種情況,直接合併對映即可

Object

.assign

(acc

,name);}

// 對於直接定義名稱的情況,可以忽略,後面取對映值的時候來處理

return

acc;

},{});

return

Object

.keys

(data).

reduce

((acc

,key

)=>,{});}

D3 js動態圖結構展示?

題主的問題可否歸納為 如果呼叫多個json進行二次 多次渲染 第一次渲染create 建立新的Html DOM元素,二次和多次渲染update 只需要改變DOM元素屬性 ajax每次互動都呼叫update 至於在什麼時候update 那就看你專案的需求了 function create d3.jso...

Animate如何動態新增元件到舞台(AS3)

豆公尺的大豆公尺 首先是你自己對妻女不管不問,在這樣一種狀態下你還要逼你前妻生二胎,最後離了,又說你前妻和鄰居有私情,你可真搞笑,離了就離了,她找人關你啥事? 緋花緋月 女人最脆弱的是生完孩子第一年,好多男人不理解,身體被摧殘就算了,精神也要緊繃二十四小時。以前一覺睡到天亮,有孩子以後,孩子翻個身都...

Scrapy 可以實現使用者動態新增起始URL嗎?

darkwings 使用scrapy redis管理url佇列,能隨時向redis裡面push新的start urls,可以實現你的需求 使用很簡單 pip install scrapy redis 安裝 然後修改常規spider檔案 1.引入RedisCrawlSpider from scrapy...