情景是在使用
vuetify
时有个单选框组件自带的change事件,这个事件会默认注入一个参数就是改变的值,但是我是用v-for生成的多个radio组件,所以需要手动传递一个index参数来判断是哪个值需要改变。
情景就是如上所说,相信很多人都会很困扰这个问题,因为你只要一手动传参那么默认参数也会拿不到,同时我们使用的是组件库,不可能去更改他们的代码,所以这里会推荐大家使用下列这种方式
@change="(v) => changeRadio(v, index)"
这里的v
就是默认传递的value值,后面的index是我手动注入的。为了方便理解特放出部分源码供参考
<v-list three-line>
<template v-for="(item, index) in items">
<v-list-item :key="index">
<v-list-item-action>
<v-btn icon>
<v-radio-group
v-model="item.radio"
@change="(v) => changeRadio(v, index)"
>
<v-radio label="合格" value="1"></v-radio>
<v-radio label="不合格" value="0"></v-radio>
</v-radio-group>
</v-btn>
</v-list-item-action>
</v-list-item>
</template>
<v-list-item>
</v-list-item>
</v-list>