В некоторых системах фонового управления флажок — это очень распространенная операция для выбора всех. Флажок — это элемент управления, который может выполнять множественный выбор. Иногда, чтобы облегчить пользователю установку всех флажков, используется веб-интерфейс.
Будет предоставлена функция установки всех флажков. Как добиться эффекта установки всех флажков?
Пример эффекта
allcheckbox
Нативный JS
Достичь эффекта выбора всех,Установлен ли флажок,этимchecked
Определяется атрибутами,поэтому,Ключом к достижению эффекта этого примера является нахождение всех соответствующих флажков.,а затем добавить другиеchecked
Свойство настроено наtrue
илиfalse
实现Выбрать всеили全Нет选
Реализуйте простую функцию выбора всех следующим образом:
// Выбрать все функции
function checkAll(c) {
var arr = document.getElementsByTagName("myname");
if(c) {
// Перебрать все флажки
for(var i = 0;i<arr.length;i++) {
arr[i].checked = true; // выбрано
}
}else {
// Перебрать все флажки
for(var i = 0;i<arr.length;i++) {
arr[i].checked = false; // Нетвыбрано
}
}
}
Следующееhtml
<input type="checkbox" name="mayall" onclick="checkAll(this.checked)" />Выбрать все<br />
<input type="checkbox" name="myname" />внешний интерфейс
<input type="checkbox" name="myname" />задняя часть
<input type="checkbox" name="myname" />Мини программа
Реализация версии Vue
Как показано в следующем коде, как и в случае с флажком «Выбрать все», нам часто необходимо передать определенные значения параметров на серверную часть при отправке вместо реализации эффекта в некоторых библиотеках примеров компонентов пользовательского интерфейса, и это Это, часто необходимо провести вторичную специальную обработку самостоятельно.
Ниже приведен пример кода для выбора всех и проверки выше.
<template>
<div class="wrap">
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">Выбрать все</el-checkbox>
<div style="margin: 15px 0;"></div>
<el-checkbox-group v-model="checkedLanNames" @change="handleCheckedlanguagesChange">
<el-checkbox v-for="lan in checkedLanOptions" :label="lan.type" :key="lan.name">{{lan.name}}</el-checkbox>
</el-checkbox-group>
</div>
</template>
<script>
export default {
name: 'checkedAll',
data() {
return {
checkAll: true, // По умолчанию выбрано все, true означает выбрать все, false — не выбирать все.
checkedLanNames: [], // Привязка по умолчанию выбрана
type: "", // Строка кода передается на серверную часть
languages: [
{
type:'1',
name: "внешний интерфейс"
},
{
type:'2',
name: "задняя часть"
},
{
type:'3',
name: «мини-программа»
},
{
type:'4',
name: «Облачная разработка»
},
],
isIndeterminate: true
};
},
mounted () {
this.checkedLanNames = this.languages.map(item => item.type);
},
computed: {
checkedLanOptions() {
return this.languages;
}
},
methods: {
handleCheckAllChange(val) {
//console.log("Выбрать все", val); // val — это значение, привязанное к v-модели, то есть this.checkAll
if (this.checkAll) {
// 当Выбрать все被выбранокогда,Перебирать исходные данные, добавьте каждый элемент данных в массив выбранных по умолчанию
this.checkedLanNames = this.languages.map((item) => item.type);
} else {
this.checkedLanNames = [];
this.type = "";
}
this.isIndeterminate = false;
},
handleCheckedlanguagesChange(value) {
// value — это значение, привязанное к v-модели, то есть this.checkedLanNames.
console.log(value);
if (this.checkedLanNames.length == this.languages.length) {
this.checkAll = true;
} else {
this.checkAll = false;
}
this.type = this.checkedLanNames.join(","); // Используйте запятые, чтобы объединить его в строку и передать на серверную часть.
}
}
}
</script>
<style lang="scss" scoped>
.wrap {
text-align: center;
margin:20px 0 20px 0;
}
</style>
Реализация «все выбирать» и «не выбирать» является очень распространенной и базовой бизнес-реализацией в некоторых серверных системах управления бизнесом.
Выбрать все与全Нет选的Установлен ли флажок,этимchecked
Определяется атрибутами,checked
Если значение атрибутаtrue
Тогда статусвыбрано,Еслиfalse
那么Нетвыбрано
внешний интерфейсUI
показывать,с конкретным значением, которое будет передано на серверную часть,Это необходимо согласовать с серверной частью,вышеtype
也就是前задняя часть协商的字段
Если передняя и задняя части согласованы, указанный формат данных передается внутренней части для обработки. Какой формат данных требуется внутренней части, затем передается конкретный тип формата данных, например чистые строки или цифры и т. д.