所以我变异阵列更新的对象后,有一个问题。 为了让角度,我有一个v-for
,通过约定的过滤列表循环。 过滤后的关键是基于关闭状态。 基本上我可以点击状态名称,只显示匹配的密钥约定。 我也有一个选项,同时使用复选框以更新多个约会。 有一次,我提交更新的对象(订婚)的阵列和我尝试一下,我更新了订婚到我得到一个警报,告诉我,状态property last_name
是不确定的,即使它是...
因此,这里是我通过循环状态列表
<ul v-for="workflow in allWorkflows" :key="workflow.id" v-if="workflow.id === selectedWorkflowID">
<li v-for="status in workflow.statuses" :key="status.id" :value="status.status" @click="changeEngagementKey(status.status)" :class="{ active: engagementFilterKey === status.status }">
<span class="text-muted">{{ capitalize(status.status) }}</span>
</li>
</ul>
这里是正在呈现交战名单
<tbody>
<tr v-for="engagement in filteredEngagements" :key="engagement.id" v-if="engagement.workflow_id === selectedWorkflowID">
<th scope="row"><input type="checkbox" :value="engagement.id" v-model="checkedEngagements.engagements"></th>
<th>{{ engagement.client.last_name}}, {{ engagement.client.first_name}} & {{ engagement.client.spouse_first_name}}</th>
<td>{{ engagement.status }}</td>
<td>{{ engagement.assigned_to }}</td>
<td>{{ engagement.return_type }}</td>
<td>{{ engagement.year }}</td>
</tr>
</tbody>
这是过滤的约定计算财产
filteredEngagements () {
return this.allEngagements.filter((engagement) => engagement.status === this.engagementFilterKey)
.filter( engagement => {
return !this.searchEngagement || engagement.client.last_name.toLowerCase().indexOf(this.searchEngagement.toLowerCase()) >= 0 });
},
这是犯了突变
updateCheckedEngagements(state, updatedEngagements = []) {
const ids = updatedEngagements.map(engagement => engagement.id)
state.engagements = state.engagements.map(engagement => {
const matchedIndex = ids.indexOf(engagement.id)
if(matchedIndex !== -1) {
return{
...updatedEngagements[matchedIndex]
}
}
return engagement
})
},
增加的另一件事是,如果我刷新页面的警报就会消失,我可以点击,没有问题的现状。
这是我遇到的问题的确切行。 它是与该client
是一个嵌套的对象...
<th>{{ engagement.client.last_name}}, {{ engagement.client.first_name}} & {{ engagement.client.spouse_first_name}}</th>
寻找帮助请! 谢谢你在先进