반응형
Vue: 무선을 부울에 바인딩하고 있습니다.
모델의 부울 값에 라디오 버튼을 바인딩하는 데 문제가 있습니다.
이 예에서는 https://jsfiddle.net/krillko/npv1snzv/2/ 를 사용합니다.
로드 시 라디오 버튼이 체크되지 않고 변경하려고 하면 모델의 '프라이머리' 값이 비어 있습니다.
시도했습니다.
:checked="variation.primary == true"
아무 효과도 없어요.
Vue의 문자열 값이 아닌 부울 값에 옵션버튼을 바인드하려면 값 속성에 v-bind를 사용합니다.
<input type="radio" v-model="my-model" v-bind:value="true">
<input type="radio" v-model="my-model" v-bind:value="false">
이러한 값을 백엔드 데이터와 일치시키는 방법은 사용자에게 맡기겠습니다.
이 시나리오에서는 체크박스는 그다지 좋지 않습니다.사용자가 이 체크박스를 공백으로 둘 수 있기 때문에 답변을 얻을 수 없습니다.yes/no 또는 true/false 질문을 할 경우 체크박스 대신 라디오버튼을 사용해야 합니다.
당신이 찾고 있는 것은checkbox
업데이트된 jsfiddle입니다.
사용 사례는 라디오 버튼의 작동 방식이 아닙니다.
이 예를 보세요.
new Vue({
el: '#app',
data: {
picked: 'One',
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.1/vue.js"></script>
<div id="app">
<input type="radio" id="one" value="One" v-model="picked">
<label for="one">One</label>
<br>
<input type="radio" id="two" value="Two" v-model="picked">
<label for="two">Two</label>
<br><br>
<span>Picked: {{ picked }}</span>
</div>
저도 이런 일을 겪었는데 기억나는 건value
Atribute는 라디오 버튼에 대해 실제로 변경해서는 안 됩니다.변경사항(및 바인드해야 할 것)은checked
기여하다.
그런 다음 변경 이벤트를 처리하여 데이터에서 올바른 항목 값을 설정해야 합니다.
당신의 jsFiddle에 근거해서, 당신이 찾고 있는 것은 다음과 같습니다.
<div id="l-main">
<div v-for="(variation, key) in variations">
<label>
{{ variation.name }}
<input
type="radio"
name="Test"
:value="key"
:checked="variation.primary"
@change="onChange"
/>
</label>
</div>
<br>Output:<br>
<div v-for="(variation, key) in variations">
{{ variation.name }} {{ variation.primary }}
</div>
</div>
var vm = new Vue({
el: '#l-main',
data: {
variations: {
'41783' : {
'name': 'test1',
'primary': false
},
'41785' : {
'name': 'test2',
'primary': true
}
}
},
methods: {
onChange($event) {
// the primary variation is the one whose key
// matches the value of the radio button that got checked
for (const key in this.variations) {
this.variations[key].primary = key === $event.target.value;
}
}
}
});
타입을 무선에서 체크박스로 바꾸면 동작합니다.
<input type="checkbox" v-model="variation.primary" name="Test">
언급URL : https://stackoverflow.com/questions/45187048/vue-binding-radio-to-boolean
반응형
'source' 카테고리의 다른 글
자바에서 사운드를 재생하려면 어떻게 해야 하나요? (0) | 2022.08.15 |
---|---|
OkHttp를 사용하여 연결 시간 초과를 설정하는 방법 (0) | 2022.08.15 |
슬롯 Vue3에서 컴포넌트 텔레포트 (0) | 2022.08.15 |
VeeValidate에서 오류 메시지(필드 이름)를 커스터마이즈하는 방법 (0) | 2022.08.15 |
VueJs 동적 v-on 이벤트가 가능합니까? (0) | 2022.08.15 |