Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vue.js和Vuetify插槽范围_Javascript_Vue.js_Vuetify.js - Fatal编程技术网

Javascript Vue.js和Vuetify插槽范围

Javascript Vue.js和Vuetify插槽范围,javascript,vue.js,vuetify.js,Javascript,Vue.js,Vuetify.js,我真的不知道插槽示波器是如何工作的。想知道是否有人能帮我解决这个(看起来)很简单的问题 <v-data-table> <template slot="items" slot-scope="props"> <tr @click="props.expanded = !props.expanded"> 我想做的是根据外部事件手动更新“道具”以扩展此行。问题是,我不知道如何在上面提到的上下文之外访问它。props.expanded=!pr

我真的不知道插槽示波器是如何工作的。想知道是否有人能帮我解决这个(看起来)很简单的问题

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

我想做的是根据外部事件手动更新“道具”以扩展此行。问题是,我不知道如何在上面提到的上下文之外访问它。
props.expanded=!props.expanded
工作正常


有什么想法吗?

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

您可以使用ref

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

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

乔丹,谢谢你的回复!我已经让它起了作用,但它有一些奇怪的副作用。所以,我现在要做的是在添加新行之后扩展它。所以我尝试了:this.$refs.accesshere.expanded['2']=true;如果我这样做,它会起作用。$forceUpdate(),如您所述。但是,在那之后,它就不能正常工作了。我再也不能点击它来折叠它了。如果我单击另一行,它将正常折叠,而其他行仍然可以正常工作。你知道为什么会发生这种情况,和/或如何解决它吗?你也可以参考以下链接:
 methods: {
   itemShow () {
     this.$refs.accesshere.expanded['2'] = true
     this.$forceUpdate() // This works, I don't know if it is recommended though
  }
 }