반응형
v-for에서 v-if에 대한 VueJS 필터
다음과 같은 필터가 있습니다.
computed: {
...mapState({
myNodes: (state) => state.myNodes,
configPositions: (state) => state.configPositions,
configEmoji: (state) => state.configEmoji,
}),
nodes_filtered: function () {
return this.myNodes.filter((nodes) => {
return nodes.deleted == false
})
},
emojis_filtered() {
return this.configEmoji.filter((emojis) => {
// console.log(emojis)
// if emojis.nodeid == myNodes.node_id
return emojis
})
},
}
마이템플릿
<div v-for="(nodes, index) in nodes_filtered" v-bind:key="index">
<form class="nodes">
<textarea
@focus="editTrue(true)"
@blur="editTrue(false)"
autofocus
v-model="nodes.node_text"
@input="editNode"
:id="nodes.node_id"
placeholder="Type your thoughts and ideas here! (auto saved every keystroke)"
></textarea>
<p class="info">*markdown supported & autosaves</p>
<div class="btn-row">
<SvgButton
buttonClass="nodes"
@click.prevent="deleteFlag(value.node_id)"
/>
<SvgButton2 buttonClass="nodes" @click.prevent="readFlag()" />
</div>
<div class="allemoji">
<div
class="eachemoji"
v-for="(emojis, index) in emojis_filtered"
:key="index"
>
{{ emojis.emoji_text }}
</div>
</div>
</form>
</div>
이 방법은 작동하지만 필요한 것은 이모티콘을 다른 방식으로 필터링하여 이모티콘이 올바른 텍스트에만 표시되도록 하는 것입니다. 올바른 구문을 알 수 없습니다.if emojis.nodeid == myNodes.node_id
그 형태로 표시됩니다.이는 v-for 내에서 v-if를 사용하는 잘못된 관행을 방지하기 위한 것입니다.
나쁜 습관은 사용하는 것입니다.v-if
그리고.v-for
는 같은 요소이지만 다음 구문을 사용할 수 있습니다.
<div
class="eachemoji"
v-for="(emojis, index) in emojis_filtered"
:key="index"
>
<template v-if="emojis.nodeid == nodes.node_id">{{ emojis.emoji_text }}</template>
</div>
또는 다음과 같이 계산한다.
emojis_filtered() {
return this.configEmoji.filter((emojis) => {
return this.myNodes.some(node=>emojis.nodeid == node.node_id)
})
},
언급URL : https://stackoverflow.com/questions/65110541/vuejs-filter-for-v-for-to-v-if
반응형
'programing' 카테고리의 다른 글
Java 8 JDK를 사용하여 Itable을 스트림으로 변환 (0) | 2022.05.31 |
---|---|
Vue Router가 항상 브라우저를 새로고침 - vuex-state 손실 (0) | 2022.05.31 |
문자열에 어레이의 문자열이 포함되어 있는지 테스트합니다. (0) | 2022.05.31 |
Vue.js: 단순 클릭 기능이 실행되지 않음 (0) | 2022.05.30 |
Axios를 사용하여 이미지를 서버에 업로드하려면 어떻게 해야 합니까? (0) | 2022.05.30 |