sla*_*ast 3 checkbox datatable selectall vuetify.js disable
我在使用选择行的数据表时遇到问题。我有禁用复选框的行,但无论如何选择都会检查它们......这是一个错误吗?
我做了一个代码笔:https ://codepen.io/slayerbleast/pen/jOWjzWJ
如何修复 selectAll 复选框只检查可用的复选框?
模板:
<v-content>
<v-data-table
v-model="selected"
:headers="headers"
:items="desserts"
item-key="name"
show-select
>
<template #item="{ item }">
<tr>
<td>
<v-checkbox
:disabled="item.calories > 250"
class="pa-0 ma-0"
:ripple="false"
v-model="selected"
:value="item"
hide-details
>
</v-checkbox>
</td>
<td>{{item.name}}</td>
<td>{{item.calories}}</td>
<td>{{item.fat}}</td>
<td>{{item.carbs}}</td>
<td>{{item.protein}}</td>
<td>{{item.iron}}</td>
</tr>
</template>
</v-data-table>
</v-content>
Run Code Online (Sandbox Code Playgroud)
数据:
data: () => ({
selected: [],
headers: [
{
text: 'Dessert (100g serving)',
align: 'start',
sortable: false,
value: 'name',
},
{ text: 'Calories', value: 'calories' },
{ text: 'Fat (g)', value: 'fat' },
{ text: 'Carbs (g)', value: 'carbs' },
{ text: 'Protein (g)', value: 'protein' },
{ text: 'Iron (%)', value: 'iron' },
],
desserts: [...]
})
Run Code Online (Sandbox Code Playgroud)
在v-data-table组件上,您可以设置一个selectable-key属性:
每个项目的属性,用于确定它是否可选
如果未指定,则isSelectable默认使用。您可以做的是创建一个计算属性来将此信息添加到您的desserts属性中,如下所示:
computed: {
enrichedDesserts() {
return this.desserts.map(x => ({ ...x, isSelectable: x.calories <= 250 }));
}
}
Run Code Online (Sandbox Code Playgroud)
然后更改items您的属性v-data-table:
<v-data-table :items="enrichedDesserts">
Run Code Online (Sandbox Code Playgroud)
请参阅此Codepen以获取工作示例。
| 归档时间: |
|
| 查看次数: |
2162 次 |
| 最近记录: |