有没有办法定义已检查和未检查的值。?现在VUE将模型设置为真/假,这是有道理的,但在真正的应用程序中,数据格式有些像是' 1' =>是的,'' => false。如何在VUE中实现这一目标?
答案 0 :(得分:4)
您可以使用true-value
和false-value
:
https://vuejs.org/v2/guide/forms.html#Checkbox-1
<input
type="checkbox"
v-model="toggle"
true-value="yes"
false-value="no"
>
// when checked:
vm.toggle === 'yes'
// when unchecked:
vm.toggle === 'no'
答案 1 :(得分:0)
不确定你需要什么,但正如你所说,如果你这样做:
{{ boxtest }}
<input type="checkbox" v-model="boxtest"/>
Boxtest将显示为&#39; true&#39;或者&#39; false&#39;当你选中或取消选中该框时。
如果您确实需要转换它,您可以执行以下操作:
{{ boxtest ? 1 : '' }}
答案 2 :(得分:0)
如果需要将字段包装在组件中,则必须对代码进行一些修改。
<template>
<div class="flex items-center h-5">
<input
@input="$emit('input', reversedValue)"
:id="id"
:value="value"
type="checkbox"
:checked="checked"
/>
</div>
</template>
<script>
export default {
props: {
value: [Boolean, String, Number],
trueValue: {
type: [Boolean, String, Number],
default: true
},
falseValue: {
type: [Boolean, String, Number],
default: false
},
},
computed: {
reversedValue() {
return this.value === this.trueValue ? this.falseValue : this.trueValue;
},
checked() {
return this.value === this.trueValue;
}
}
};
</script>