vue.js의 v-model로 여러 개의 체크 상자의 상태를 관리하고 싶습니다
7305 단어 checkboxJavaScriptVue.js
하고 싶은 일
몇 개의 체크 상자가 있는데, 그 중 어느 것이 검사되었는지 알고 싶다.
어쨌든 완성판 코드. <template>
<section>
<div v-for="(poke, i) in pokes" :key="i">
<input
:id="'poke' + i"
type="checkbox"
:value="poke"
v-model="selectedPokes"
>
<label :for="'poke' + i">{{poke}}</label>
</div>
</section>
</template>
<script>
export default {
data() {
return {
pokes: [
'ピカチュウ', 'カイリュー', 'ヤドラン', 'ピジョン', 'コダック', 'コラッタ', 'ズバット', 'ギャロップ'
],
selectedPokes: []
}
}
}
</script>
자세하다
아래와 같이 하나의 복선상자에 대해 하나v-model
를 사용하면 실현할 수 있다.<template>
<section>
<input
id="pika"
type="checkbox"
v-model="pika"
>
<label for="pika">ピカチュウ</label>
<input
id="kai"
type="checkbox"
v-model="kai"
>
<label for="kai">カイリュー</label>
<input
id="yado"
type="checkbox"
v-model="yado"
>
<label for="yado">ヤドラン</label>
</section>
</template>
<script>
export default {
data() {
return {
pika: false,
kai: false,
yado: false
}
}
}
</script>
하지만 100개의 복선상자가 있다면 그렇게 하지 않을 것이다.
(단, 복선상자가 실제로 100개가 있다면 디자인을 다시 고려하는 것이 좋다.)
또한 API 등에서 목록을 내보낼 경우 확인란이 몇 개인지 알 수 없으면 곤란하다.
해결책
<template>
<section>
<div v-for="(poke, i) in pokes" :key="i">
<input
:id="'poke' + i"
type="checkbox"
:value="poke"
v-model="selectedPokes"
>
<label :for="'poke' + i">{{poke}}</label>
</div>
</section>
</template>
<script>
export default {
data() {
return {
pokes: [
'ピカチュウ', 'カイリュー', 'ヤドラン', 'ピジョン', 'コダック', 'コラッタ', 'ズバット', 'ギャロップ'
],
selectedPokes: []
}
}
}
</script>
자세하다
아래와 같이 하나의 복선상자에 대해 하나v-model
를 사용하면 실현할 수 있다.<template>
<section>
<input
id="pika"
type="checkbox"
v-model="pika"
>
<label for="pika">ピカチュウ</label>
<input
id="kai"
type="checkbox"
v-model="kai"
>
<label for="kai">カイリュー</label>
<input
id="yado"
type="checkbox"
v-model="yado"
>
<label for="yado">ヤドラン</label>
</section>
</template>
<script>
export default {
data() {
return {
pika: false,
kai: false,
yado: false
}
}
}
</script>
하지만 100개의 복선상자가 있다면 그렇게 하지 않을 것이다.
(단, 복선상자가 실제로 100개가 있다면 디자인을 다시 고려하는 것이 좋다.)
또한 API 등에서 목록을 내보낼 경우 확인란이 몇 개인지 알 수 없으면 곤란하다.
해결책
<template>
<section>
<input
id="pika"
type="checkbox"
v-model="pika"
>
<label for="pika">ピカチュウ</label>
<input
id="kai"
type="checkbox"
v-model="kai"
>
<label for="kai">カイリュー</label>
<input
id="yado"
type="checkbox"
v-model="yado"
>
<label for="yado">ヤドラン</label>
</section>
</template>
<script>
export default {
data() {
return {
pika: false,
kai: false,
yado: false
}
}
}
</script>
checkbox
원소:value
v-model
에서 배열로 수신하다.<div v-for="(poke, i) in pokes" :key="i">
<input
:id="'poke' + i"
type="checkbox"
:value="poke"
v-model="selectedPokes"
>
<label :for="'poke' + i">{{poke}}</label>
</div>
selectedPokes: []
이렇게 하면 위에 붙인gif처럼 여러 개의 값을 유지할 수 있다.실패 모드
수신
v-model
의 초기 값data
을 정렬하지 않으면 실패합니다.selectedPokes: ''
끝맺다
사실대로 말하면, 나는 이렇게 하면 될지 안 될지 모르겠다.
자세한 건 꼭 알려주세요.
그리고 나는 단지
Reference
이 문제에 관하여(vue.js의 v-model로 여러 개의 체크 상자의 상태를 관리하고 싶습니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/5ou/items/33991607374645c3f799
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(vue.js의 v-model로 여러 개의 체크 상자의 상태를 관리하고 싶습니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/5ou/items/33991607374645c3f799텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)