我在堆棧溢出處理Vue JS並從數組中選擇默認值單個值中看到很多問題。但是,我需要將每個項目的數組groups
與所有組ensemble_groups
的數組進行比較,並默認加載正確的選擇。使用Vue JS在陣列中進行默認選擇
這裏是如何,我想現在要做到這一點:
<div id="oven">
<template v-for="biscuit in oven">
<!--show checkbox for every available group-->
<!--check groups array to see if this ensemble_group should be selected by default-->
{{ ensemble_groups }}
<input type="checkbox"
name="cast_list[@{{ $index }}][groups][]"
:checked="biscuit.groups.IndexOf(name) == {{ group_name }}"
value="{{ group_name }}"
id="[email protected]{{ $index }}-{{ group_name|slugify }}">
<label for="[email protected]{{ $index }}-{{ group_name|slugify }}">{{ group_name }}</label>
<br>
{{ /ensemble_groups }}
</template>
</div>
所以,我有我的所有組存儲在YAML值ensemble_groups.group_name
匹配存儲在YAML的預定值,其作爲cast_list.groups.value
和我的Vue.js陣列被存儲它們作爲oven.groups.name
像這樣:
new Vue({
el: '#oven',
data: {
oven: [
{{ cast_list }}
{
groups: [
{{ groups }}
{
name: "{{ value }}"
},
{{ /groups }}
],
},
{{ /cast_list }}
]
}
})
我是否有道理?我正在比較數組(多個預定義與所有可用)。
因此,如果我有4個ensemble_groups的值,如["Ballroom dancers", "Tap dancers", "Farmers", "Cowboys"]
,並將cast_list條目放入兩個組["Tap dancers", "Cowboys"]
,我希望在加載頁面時檢查這兩個組的複選框。
幫助?
UPDATE:
我用羅伊的回答讓工作的複選框,但我已經失去了索引值,以保持數據在正確的地方。繼續在How to set incremental counter for nested arrays using Vue JS
感謝您的答覆。我用我的新代碼編輯了我的OP,因爲一旦我爲我的場景調整了解決方案(保持我的數據結構完好無損),我就失去了使用'@ {{$ index}}'的能力,因爲它滯留在'ensemble_groups '循環,一遍又一遍地循環'0,1,2,3'。我需要一個附加到'v-for =「成員的增量索引,並且我試着'@ {{member。$ index}}'和'@ {{$ member.index}}'但都不起作用。 – danfo
@danfo如果你唯一的理由是將標籤和輸入相關聯,那麼我只是把輸入放在標籤中,忘記''id's。 –
這是保存數據結構完整的數據保存後,必須遵循結構'array_name [0] [field_name]','array_name [1] [field_name]','array_name [2] [field_name]'等。 – danfo