vue.js - 如何删除 Vuetify v-checkbox 中的检查
问题描述
我正在使用 API 调用将数据加载到数据表中。第一行在第一列中有一个复选框。用户通过另一个 API 调用检查复选框按下一个按钮并删除选定的行,并且它下面的行向上移动并且现在将具有与之关联的复选框。
我的问题是v-checkbox
第二次 API 调用后的检查。如何从中删除支票?
我尝试使用并将检查设置为 false来抓取v-checkbox
元素,但这没有用。getElementById
getElementById('myCheckBox').checked = false
<v-checkbox
class='double'
@change='selectRow(props.index)'
:value='props.item.ProcessNumber'
unchecked-value='Pick'
v-model='selectedNumber'
id='myCheckBox'
></v-checkbox>
<script>
var checkBox = getElementById('myCheckBox');
checkBox = false;
</script>
解决方案
这是你想要做的吗?https://codesandbox.io/s/vue-template-qx4nt
您正在使用 Vue,并且您可能永远不必自己操作 dom(仅限高级案例)。如果你是,你可能用错了。绕过虚拟 DOM通常是个坏主意。
<template>
<div id="app">
<v-btn @click="load" :loading="loading">load</v-btn>
<v-btn @click="remove">remove</v-btn>
<v-list>
<v-list-item v-for="(item, index) in items" :key="index">
<v-checkbox v-model="selected" :value="item" multiple/>
{{ item }}
</v-list-item>
</v-list>
</div>
</template>
<script>
export default {
name: "App",
data: () => ({
loading: false,
selected: [],
items: []
}),
methods: {
async load() {
this.loading = true;
const items = await new Promise(resolve => {
setTimeout(() => resolve([1, 2, 3]), 2000);
});
this.items = items;
this.loading = false;
},
remove() {
this.items = this.items.filter(i => !this.selected.includes(i));
this.selected = [];
}
}
};
</script>
推荐阅读
- asp.net-core - Razor 页面表单中的 SVG
- javascript - 使用具有多个值的第二个数组过滤对象数组
- c# - 将十进制转换为双精度返回科学计数法
- javascript - CryptoJS AES 256 ECB 解密
- qt - 在嵌入式 Linux 上使用 Qt Creator 创建文本文件
- scala - 每行 Spark DataFrame 读取文件内容
- xml - XML 序列化具有 xml-element 的 xml-attribute
- python-3.x - 使用 FB Prophet 和 covid-19 的 Python 时间序列
- sql - 以数组为参数的雪花函数因不支持的子查询错误而失败
- excel - 使用相同格式的 EXCEL 添加下个月