zoukankan      html  css  js  c++  java
  • Element-ui表格选中回显

    先瞄一下,是不是你要的效果

    然后,废话不多说,直接上代码啦

      1 <template>
      2   <div class>
      3     <div class="projectData">
      4       <el-table :data="tableData2" ref="multipleTable" :show-header="false" :border="false" style=" 100%" @selection-change="handleSelectionChange">
      5         <el-table-column type="selection" :reserve-selection="true" width="55"></el-table-column>
      6         <el-table-column prop="spaceName" width="180"></el-table-column>
      7         <el-table-column>
      8           <template slot-scope="scope" v-if="scope.row.id==1||scope.row.id==3||scope.row.id==4">
      9             <el-input
     10               v-model="scope.row.spacePrice"
     11               class="el-input_inner"
     12               size="medium"
     13               clearable
     14             ></el-input>
     15             {{scope.row.spaceUnit}}
     16           </template>
     17         </el-table-column>
     18       </el-table>
     19     </div>
     20     <el-button type="primary" @click="submitForm">确定</el-button>
     21   </div>
     22 </template>
     23 
     24 <script>
     25 export default {
     26   data() {
     27     return {
     28       tableData2: [],
     29       multipleSelection: [],
     30       listData:[],
     31     };
     32   },
     33   methods: {
     34     handleSelectionChange(val) {
     35       this.multipleSelection = val;
     36       for (var i = 0; i < this.multipleSelection.length; i++) {
     37           this.multipleSelection[i].containSpace = 1;
     38         }
     39     },
     40     // 初始化数据
     41      projectManage(){
     42           this.$axios.get("/clapi/materiel/mealSpaceRela/queryProjectManage?mealId="+this.message.id)
     43           .then((response) => {
     44               if(response.data.status.code == 200){
     45               this.tableData2 = response.data.result;
     46               this.listData = response.data.result
     47               for ( let i = 0 ; i < this.listData.length ; i++ ){
     48                   if(this.listData[i].containSpace == 1){
     49                     //这是默认选中上的
     50                     this.$refs.multipleTable.toggleRowSelection(this.tableData2[i],true);
     51                   }
     52                 } 
     53           }
     54       })
     55       .catch(error => {
     56         console.log(error);
     57       });
     58     },
     59     // 保存
     60     submitForm() {
     61       // 数组为空的话,状态为0,输入框为0
     62       if(this.multipleSelection.length == 0){
     63             for (var i = 0; i < this.tableData2.length; i++) {
     64             this.tableData2[i].containSpace = 0;
     65             this.tableData2[i].spacePrice = 0;
     66            }
     67            this.$axios.post("/clapi/materiel/mealSpaceRela/editProjectManage",this.tableData2)
     68           .then((response) => {
     69             this.$message({
     70               type: "success",
     71               message: "保存成功!"
     72             });
     73           })
     74           .catch((error) =>{
     75             console.log(error);
     76           });
     77         }else{
     78           //已选数据,其他输入的值为0
     79           for(var n=0;n<this.multipleSelection.length;n++){
     80             // 如果选中的数据为空默认为0
     81            if(this.multipleSelection[n].spacePrice=='')this.multipleSelection[n].spacePrice=0;
     82           }
     83          this.$axios.post("/clapi/materiel/mealSpaceRela/editProjectManage",this.multipleSelection)
     84           .then((response) => {
     85            this.$message({
     86               type: "success",
     87               message: "保存成功!"
     88             });
     89           })
     90           .catch((error) =>{
     91             console.log(error);
     92           });
     93         }
     94 
     95     },
     96   },
     97   created() {
     98     this.projectManage();
     99 
    100   }
    101 };
    102 </script>
    103 
    104 <style scoped>
    105 .projectData >>> .el-input__inner {
    106   text-align: center;
    107 }
    108 
    109 .projectData >>> .el-table--enable-row-hover .el-table__body tr:hover > td {
    110   background: #fff!important;
    111 }
    112 
    113 .projectData tr {
    114   height: 60px !important;
    115 }
    116 .projectData {
    117   margin-left: 80px;
    118 }
    119 .favour_checkbox {
    120   height: 60px;
    121   display: block;
    122 }
    123 
    124 table,table th,table tr td {
    125   border:1px solid red;
    126 }
    127 
    128 .el-input_inner,
    129 .el-select {
    130   text-align: center;
    131   width: 100px;
    132 }
    133 
    134 </style>

     若有不明白请加群号:复制 695182980 ,也可扫码,希望能帮助到大家。

                  

  • 相关阅读:
    jedata日期控件的开始结束日期设置
    springMVC中对HTTP请求form data和request payload两种数据发送块的后台接收方式
    Java Code Examples for org.codehaus.jackson.map.DeserializationConfig 配置
    Struts 2与AJAX(第二部分)
    在Struts 2中实现文件上传
    Strus 2的新表单标志的使用
    在Struts 2中实现CRUD
    Struts 2与AJAX(第三部分)
    Struts 2中的OGNL
    GridView中实现自定义时间货币等字符串格式
  • 原文地址:https://www.cnblogs.com/CinderellaStory/p/10728234.html
Copyright © 2011-2022 走看看