以select爲例,若是select寫在循環裏,觸發change事件時可能不僅須要傳遞被選中項的值,還要傳遞index過去,來改變同一循環中的其餘標籤的狀態。spa
下面這樣寫是無效的:code
@change="changeStatus(val, index)"blog
<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)})"it
<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>