doubleyong
管理员
管理员
  • 最后登录2026-05-25
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:7928回复:0

[vue]vue中el-table 绑定了select ,选择一个其它行的select也发生了变化

楼主#
更多 发布于:2018-11-09 10:11


vue中el-table绑定了select下拉列表 ,选择一个其它行的select也发生了变化


代码如下:
<el-table
    :data="tableData"
     border
    style="width: 100%">
    <el-table-column label="字段" min-width="130">
        <template slot-scope="scope" v-for="(k,v) in filedR">
        <el-select v-model="filedR[v].value1" @change="change($event)" >
            <el-option v-for="(item,index) in filedROptions" :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
        </el-select>
        </template>
    </el-table-column>
</el-table>
data(){
    return{ filedR:[], filedROptions:[
                {
                "label":"uid",
                "value":"uid"
                },
                {
                    "label":"mingzi",
                    "value":"mingzi"
                }
                ,
                {
                    "label":"buneng",
                    "value":"buneng"
                },
                {
                    "label":"sex",
                    "value":"sex"
                },
                {
                    "label":"gongzi",
                    "value":"gongzi"
                }
                ],
        }
},
methods: {
            getData(){
                   var len=3
                   for(let i=0;i<len;i++){
                       var item = {value1: ''};
                       this.filedR.push(item)
                   }
            })
}

为何select的值都是同一个,改变选项都是一起变。。。有没有好的解决办法

解析:
  1. template 上要使用 slot-scope="scope"
  然后,el-select 绑定时 ,不要写“v-model="filedR[v].value1" 进行直接使用,采用v-model="scope.row.value1"
 使用scope关键字的row属性来获取数据


转自https://segmentfault.com/q/1010000013099977
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号