情况是这样的,表格里每行每列都是复选框,行是根据查询动态增加的,列是固定的,现在我不知道怎么给checkbox的v-model绑定变量,绑定普通变量的话选中一个整行都选中了,本人完全是菜鸟vue和element就学了很短时间,求哪位大神解答一下,看到有大神写的帖子变量是a[[]]的形式完全不明白什么意思

解决方案 »

  1.   

    在获取到数据时,给每个数据添加一个属性,设为false,表示未选中,然后遍历数据时将其绑定给checkbox,vue会帮你追踪它的变化的新手经验之谈
      

  2.   

    一组相同绑定v-model会获得一个数组,初始值也要给数组[]
    https://element.eleme.cn/#/zh-CN/component/checkbox#checkbox-button-attributes可以用动态新增行的一个属性v-model绑定到checkbox
      

  3.   

    部分代码是这样的
     <el-table :data="users" border style="width: 100%" @selection-change="handleSelectionChange">
                <el-table-column type="selection" width="55">
                </el-table-column>
                <el-table-column prop="realname" v-model="doctor" label="医生" width="100">
                </el-table-column>
                <el-table-column prop="date1" label="星期一 下午" width="100">
                  <template slot-scope="scope">
                    <el-checkbox v-model="week12" true-label="1" false-label="0"></el-checkbox>
                  </template>
                </el-table-column>实现上面的效果
      

  4.   

    v-model中week12那里不知道写什么变量
      

  5.   

    users集合的对象添加week1-week12, 然后使用scope.row.week1绑定
      

  6.   


    <body>
      <div id="app">
        <el-table :data="tableData" border style="width: 100%" @cell-click="getCell">
          <el-table-column prop="name" label="姓名" width="180"></el-table-column>
          <el-table-column label="周一" width="180">
              <el-checkbox></el-checkbox>
          </el-table-column>
          <el-table-column label="周二">
              <el-checkbox></el-checkbox>
          </el-table-column>
        </el-table>
      </div>
    </body>new Vue({
          el: '#app',
          data: function() {
            return { 
                tableData: [{
                name: '王1虎',
                week1: false,
                week2: false
              }, {
                name: '王2虎',
                week1: false,
                week2: false
              }]
             }
          },
          methods: {
            getCell(row, column,cell,event){
                let status = cell.children[0].children[0].className.indexOf('is-checked') == -1;
                this.tableData.forEach(item=>{
                    if(item.name == row.name){
                        item.week1 = status;
                        console.log(`${item.name}周${column.id.slice(-1)-1}${item.week1?'上班':'不上班'}`)
                    }
                })
              }
          },
        })