gpt4 book ai didi

javascript - Vue.js 和 Vuetify 槽作用域

转载 作者:搜寻专家 更新时间:2023-10-30 22:34:21 24 4
gpt4 key购买 nike

我真的只是不确定槽作用域是如何工作的。想知道是否有人可以帮助我解决这个(看似)非常简单的问题。

<v-data-table>
<template slot="items" slot-scope="props">
<tr @click="props.expanded = !props.expanded">

我要做的是手动更新“props”以根据外部事件扩展此行。问题是,我无法弄清楚如何在上述上下文之外访问它。 props.expanded = !props.expanded 工作正常。

有什么想法吗?

最佳答案

组件中似乎没有内置方法。当数据表创建它自己的扩展对象时,不使用传入的 prop。

您可以使用refVue page on child component refs .

以下代码会将数据表上的 ref 设置为 accesshere

<v-data-table ref="accesshere" :headers="headers" :items="dataTable" 
:search="search" item-key="id">

现在您将能够通过使用(将其设置为 false 将关闭展开的表格行)this.$refs.accesshere.expanded['nameofkey'] = false

这是一个codepen在行动中展示它。

展开的对象存在问题,在您第一次展开行之前不会填充它。因此,如果您执行以下操作。它不会看到这些更改(除非您强制更新组件),因此不会立即展开该行。

 methods: {
itemShow () {
this.$refs.accesshere.expanded['2'] = true
this.$forceUpdate() // This works, I don't know if it is recommended though
}
}

关于javascript - Vue.js 和 Vuetify 槽作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47685855/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com