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

 

GitHub 加速计划 / eleme / element
54.06 K
14.63 K
下载
A Vue.js 2.0 UI Toolkit for Web
最近提交(Master分支:3 个月前 )
c345bb45 7 个月前
a07f3a59 * Update transition.md * Update table.md * Update transition.md * Update table.md * Update transition.md * Update table.md * Update table.md * Update transition.md * Update popover.md 7 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐