我有一個(gè)對象數(shù)組:{2:'李四',1:'張三',3:'王五'},想按這個(gè)順序輸出。用v-for遍歷的話,會根據(jù)ASCII順序,輸出:{1:'張三',2:'李四',3:'王五'}我只想到增加索引,來實(shí)現(xiàn)功能。{1: {2:李四},2: {1:張三} ,3: {3:王五} }但這樣需要改不少代碼。請問有沒有更優(yōu)雅的方式,修改v-for的渲染順序?(以上查了文檔、百度未找到方案)只能自定義過濾器么?但過濾器相當(dāng)于跟特定數(shù)組順序綁定。無法解耦。還望指教!16分鐘后更新我想了一下:可不可以封裝一個(gè)過濾器函數(shù)。每次把“固定的對象數(shù)組”作為參數(shù)傳進(jìn)去,然后這個(gè)函數(shù),通過pop,shift啥的,返回想要的結(jié)果。這樣就可以重用了。雖說寫函數(shù)麻煩,但以后就方便了?!?本貼已經(jīng)解決,正解是我下面的答案?!扛兄x上邊兩位朋友的指教。
2 回答

哆啦的時(shí)光機(jī)
TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊
這個(gè)做不到,至少我做不到。
對象中是沒有順序的,所以在訪問的時(shí)候一定會按照ASCII去訪問key。
你可以考慮在定義的時(shí)候就按照數(shù)組定義:
[{2:'李四'}, {1:'張三'}, {3:'王五'}]
數(shù)組是按照順序訪問的。

慕慕森
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
感謝樓上2位的指教。
我今天試了下,最終正確的寫法是這樣:
[ {id:2,username:'李四'}, {id:1,username:'張三'}, {id:3,username:'王五'} ]
這樣才能在v-for里邊用list.鍵名輸出值!
v-for="(value,key,index) in list
然后用{{value.username}}取到值!
添加回答
舉報(bào)
0/150
提交
取消