Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.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中的v-checkbox onchange事件中调用两个函数_Javascript_Jquery_Vue.js_Checkbox_Vuetify.js - Fatal编程技术网

Javascript 在vue js中的v-checkbox onchange事件中调用两个函数

Javascript 在vue js中的v-checkbox onchange事件中调用两个函数,javascript,jquery,vue.js,checkbox,vuetify.js,Javascript,Jquery,Vue.js,Checkbox,Vuetify.js,我将vue js与vuetify和laravel一起使用。我有一个带有动态数据表的组件,它使用axios从数据库获取数据。数据表中也有v复选框。所以一切都如我所料。但现在我想在v-checkbox中调用两个函数onchange event。例如,当用户单击复选框(选中)时,我想调用保存函数;当用户取消选中复选框时,我想调用删除函数。我试着用v-checkbox的id来做这件事,并检查该复选框是否被选中,然后调用save函数,或者调用delete函数。然后,当用户选中“保存”复选框时,函数被调用,

我将vue js与vuetify和laravel一起使用。我有一个带有动态数据表的组件,它使用axios从数据库获取数据。数据表中也有v复选框。所以一切都如我所料。但现在我想在v-checkbox中调用两个函数onchange event。例如,当用户单击复选框(选中)时,我想调用保存函数;当用户取消选中复选框时,我想调用删除函数。我试着用v-checkbox的id来做这件事,并检查该复选框是否被选中,然后调用save函数,或者调用delete函数。然后,当用户选中“保存”复选框时,函数被调用,但当用户取消选中该复选框时,两个函数都被调用。这就是我被困的地方。我怎样才能归档这个

数据表

<v-data-table :headers="customer_headers" :items="customers" :search="customer_search" item-key="CustomerCode" ref="customer_table">
   <template slot="items" slot-scope="props">
     <tr :id="'customer_tr_'+props.item.CustomerCode">
       <td class="text-md-center">{{ props.item.CustomerCode }}</td>
       <td class="text-md-center">{{ props.item.CustomerName }}</td>
       <td class="text-md-center">{{ props.item.NO_OF_DISPENSERS }}</td>
       <td class="text-md-center">{{ props.item.next_service_date }}</td>
       <td class="text-md-center">{{ props.item.STATUS }}</td>
       <td class="text-md-center">{{ props.item.Workerstatus }}</td>
       <td class="text-md-center">
         <v-checkbox
                     :key="props.item.CustomerCode"
                     :ref="'customer_checkbox_ref' + props.item.CustomerCode"
                     :id="'customer_checkbox_'+props.item.CustomerCode"
                     @change="loadCustomerDispensers(props.item.CustomerCode,props.item.STATUS);changeServicePlanData()"
                     ></v-checkbox>
       </td>
     </tr>
  </template>
</v-data-table>

我要说的是,您不需要jQuery。有几种方法可以在
v-checkbox
上实现这一点,其中一种是使用

考虑以下示例:

newvue({
el:“#应用程序”,
数据(){
返回{
项目:[{
标签:“第1项”,
价值:1
},
{
标签:“第2项”,
价值:2
},
{
标签:“第3项”,
价值:3
}
],
已选择:[2]//预选项目#2
}
},
方法:{
支票(val){
让行动='';
如果(此选定项包括(val)){
动作=‘保存’;
} 
否则{
动作='删除';
}
警报(`${action}计划#${val}`);
}
}
});
.v-input{
页边距顶部:0!重要;
}

Hi,如果获取tableData的唯一方法是通过道具将其传递给table组件,那么在这种情况下您将如何使用v-model
function changeServicePlanData(id) {
   if ($('#' + id).checked == true) {
      this.savePlan()
   } else {
      this.deletePlan()
   }
}