Checkbox Vue Component
Checkbox Properties
Event | Description |
---|
<f7-checkbox> events |
---|
change | Event will be triggered when checkbox state changed |
Checkboxes List
<template>
<f7-page>
<!-- With boolean value -->
<f7-checkbox :checked="jobIsDone" @change="jobIsDone = $event.target.checked"></f7-checkbox>
<!-- With array value -->
<f7-checkbox
value="banana"
:checked="fruits.indexOf('banana') >= 0"
@change="checkFruits"
></f7-checkbox>
<f7-checkbox
value="orange"
@change="checkFruits"
></f7-checkbox>
<f7-checkbox
value="apple"
:checked="fruits.indexOf('apple') >= 0"
@change="checkFruits"
</f7-page>
</template>
<script>
export default {
data() {
return {
jobIsDone: false,
fruits: [],
};
},
methods: {
checkFruits(event) {
const self = this;
const value = event.target.value;
if (event.target.checked) {
self.fruits.push(value);
} else {
self.fruits.splice(self.fruits.indexOf(value), 1);
}
},
},
};
</script>
Examples
Inline
Checkbox Group
<f7-list-item checkbox title="Books" name="demo-checkbox" checked></f7-list-item>
<f7-list-item checkbox title="Movies" name="demo-checkbox"></f7-list-item>
<f7-list-item checkbox title="Food" name="demo-checkbox"></f7-list-item>
</f7-list>
Indeterminate State
export default {
data: function () {
return {
movies: ['Movie 1'],
};
},
methods: {
onMovieChange: function (e) {
var self = this;
var value = e.target.value;
var movies = self.movies;
if (e.target.checked) {
movies.push(value);
} else {
movies.splice(movies.indexOf(value), 1);
}
},
onMoviesChange: function (e) {
var self = this;
var movies = self.movies;
if (movies.length === 1 || movies.length === 0) {
self.movies = ['Movie 1', 'Movie 2'];
} else if (movies.length === 2) {
self.movies = [];
}
},
};
With Media Lists