一、uniapp复选框样式
uniapp的复选框可以根据不同的需求设置不同的样式。首先,我们需要定义 checkbox 的外层包裹元素 class 类名,然后通过对该 class 进行样式设置,代码如下:
/* checkbox 组件外层包裹元素 */ .checkbox-group { display: flex; flex-direction: row; align-items: center; } /* checkbox 组件样式 */ .checkbox { margin-right: 10px; width: 20px; height: 20px; border-radius: 4px; border: 1px solid #ccc; background-color: #fff; } /* 选中状态 */ .checkbox:checked { background-color: #007aff; border-color: #007aff; } /* 半选中状态 */ .checkbox:indeterminate { background-color: #007aff; border-color: #007aff; }
二、uniapp复选框动态选中
要动态选中一个复选框,我们可以使用 v-model 来绑定一个 data 中定义的变量,然后通过修改该变量的值来动态选中或取消选中一个复选框。代码如下:
<input type="checkbox" id="apple" class="checkbox" v-model="checked"><script> export default { data() { return { checked: false } } } </script>
三、uniapp复选框使用
在使用 uniapp 的复选框时,需要注意每个复选框的 name 属性应该是唯一的,同时需要将每个复选框的值绑定到 data 中定义的变量上。代码如下:
<script> export default { data() { return { fruit: { apple: false, banana: false } } } } </script><input type="checkbox" id="apple" name="fruit" class="checkbox" v-model="fruit.apple"><input type="checkbox" id="banana" name="fruit" class="checkbox" v-model="fruit.banana">
四、uniapp复选框回显
如果需要将之前设置的复选框选中状态回显到界面上,可以通过在 data 中定义数组变量,将选中的值保存在数组中,然后在渲染界面时判定当前值是否在数组中,如果在则将该复选框设置为选中状态。代码如下:
<script> export default { data() { return { items: [ { label: "苹果", name: "apple", value: "apple", checked: false }, { label: "香蕉", name: "banana", value: "banana", checked: false }, { label: "橘子", name: "orange", value: "orange", checked: false } ], checkedList: [] } }, mounted() { // 模拟回显数据 this.checkedList = ["apple", "orange"]; } } </script><input type="checkbox" :id="item.name" :name="item.name" class="checkbox" :value="item.value" v-model="checkedList">
五、uniapp复选框获取选中值
获取所有选中的复选框的值,可以通过遍历 data 中定义的变量,将选中的值保存到数组中。代码如下:
<script> export default { data() { return { items: [ { label: "苹果", name: "apple", value: "apple", checked: false }, { label: "香蕉", name: "banana", value: "banana", checked: false }, { label: "橘子", name: "orange", value: "orange", checked: false } ], checkedList: [] } }, methods: { handleSubmit() { const selected = []; for (let i = 0; i < this.items.length; i++) { if (this.checkedList.indexOf(this.items[i].value) !== -1) { selected.push(this.items[i]); } } console.log(selected); } } } </script><input type="checkbox" :id="item.name" :name="item.name" class="checkbox" :value="item.value" v-model="checkedList">
六、uniapp复选框展示详情
在展示一组多选框数据时,我们可以通过遍历一个数组,动态生成一组多选框,并将选中的值保存到 data 中定义的变量中,以便在提交表单时使用。代码如下:
<script> export default { data() { return { items: [ { label: "苹果", name: "apple", value: "apple", checked: false }, { label: "香蕉", name: "banana", value: "banana", checked: false }, { label: "橘子", name: "orange", value: "orange", checked: false } ], checkedList: [] } }, methods: { handleSubmit() { const selected = []; for (let i = 0; i < this.items.length; i++) { if (this.checkedList.indexOf(this.items[i].value) !== -1) { selected.push(this.items[i]); } } console.log(selected); } } } </script><input type="checkbox" :id="item.name" :name="item.name" class="checkbox" :value="item.value" v-model="checkedList">
七、uniapp复选框改变背景颜色
我们可以通过改变复选框的背景色,来展示不同的状态。代码如下:
<script> export default { data() { return { checked: false } } } </script><input type="checkbox" id="apple" class="checkbox" v-model="checked">
八、uniapp复选框实现购物车功能
在购物车功能中,我们可以通过遍历购物车中商品列表,动态生成一组多选框,并将选中的值保存到 data 中定义的变量中,以便在提交表单时使用。代码如下:
<script> export default { data() { return { cart: [ { name: "苹果", price: 5.0 }, { name: "香蕉", price: 3.0 }, { name: "橘子", price: 4.0 } ], checkedList: [] } }, computed: { totalPrice() { let sum = 0; for (let i = 0; i < this.checkedList.length; i++) { sum += parseFloat(this.checkedList[i]); } return sum; } }, methods: { submitOrder() { const selected = []; for (let i = 0; i < this.cart.length; i++) { if (this.checkedList.indexOf(this.cart[i].price.toString()) !== -1) { selected.push(this.cart[i]); } } console.log(selected); } } } </script><input type="checkbox" :id="item.name" :name="item.name" class="checkbox" :value="item.price" v-model="checkedList"> {{ item.price }}元总价:{{ totalPrice }}元
九、uniapp获取复选框的值
在获取复选框的值时,我们可以通过 v-model 的方式将选中的值保存到 data 中定义的变量中,以便在提交表单时使用。代码如下:
<script> export default { data() { return { checked: false } } } </script><input type="checkbox" id="apple" class="checkbox" :value="5.0" v-model="checked">
十、uniapp下拉选择组件选取
在多选框中,我们也可以使用下拉选择组件来实现多选框的功能。代码如下:
<script> export default { data() { return { pickerColumns: ["苹果", "香蕉", "橘子"], showPickerValue: false, selectedValues: [] }; }, methods: { showPicker() { this.showPickerValue = true; }, hidePicker() { this.showPickerValue = false; }, onPickerConfirm(value) { this.selectedValues = value; this.hidePicker(); } } }; </script>