以select爲例,如果select寫在循環裏,觸發change事件時可能不只需要傳遞被選中項的值,還要傳遞index過去,來改變同一循環中的其他標籤的狀態。
下面這樣寫是無效的:
@change="changeStatus(val, index)"
<div v-for="(item,index) in itemList">
<el-select v-model="item.value" @change="changeStatus(val, index)">
<el-option v-for="op in options" :key="op.key" :label="op.label"
:value="op.label"></el-option>
</el-select>
</div>
這樣寫就可以了:
@change="((val)=>{changeStatus(val, index)})"
<div v-for="(item,index) in itemList">
<el-select v-model="item.value" @change="((val)=>{changeStatus(val, index)})">
<el-option v-for="op in options" :key="op.key" :label="op.label"
:value="op.label"></el-option>
</el-select>
</div>