element-ui组件中的input等的change事件中传递自定义参数

以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>            

 

posted @ 2019-05-22 10:03  前端先锋  阅读(10492)  评论(2编辑  收藏  举报