做项目时发现uni-app不识别<input type="checkbox" />会将其强行变成type="text"
uni-app提供了checkbox标签来实现复选框,但是该标签的value是一个String类型,如果用v-model来绑定布尔值会报错
翻译过来就是checkbox的value值应该接收字符型,但是你传入了一个布尔类型true
关于checkbox如何获取多个复选框的值,首先不能用v-model(无语了),下面是一个很丑陋的写法,必须绑定方法,如果有更简单的方法欢迎评论区大佬
<template>
<checkbox-group @change="getHobby">
<checkbox value="bb" />篮球
<checkbox value="fb" />足球
<checkbox value="wb" />网球
</checkbox-group>
</template>
<script lang="ts">
import Vue from 'vue';
export default Vue.extend({
components: {},
data() {
return {
hobby:[]
}
},
methods: {
getHobby(e){
this.hobby = e.detail.value
}
}
})
</script>
忘本了,我是要实现单个复选框双向绑定一个布尔值的(例如登录中的记住我)!!!这里也绑定了一个事件,但是因为事件很简单所以可以直接写
<template>
<input type="text" v-model="user.account" placeholder="请输入账号" class="input" />
<input type="password" v-model="user.password" placeholder="请输入密码" class="input" />
<label>
<checkbox @click="user.checked=!user.checked" class="checkbox"/>记住我
</label>
<button class="login-btn" @click="handleLogin">登录</button>
</template>
<script>
export default({
data() {
return {
user:{
account: '',
password: '',
checked:false,
}
}
}
})
</script>
既然看到这里了给我点个赞吧!!!谢谢