最近在开发我的项目,用到了element-ui的多选框性能,因为前端渲染的字段和提交给后端的字段不统一,还是参考了其余的我的项目中的性能,才实现。上面记录一下:

<!DOCTYPE html><html><head>  <meta charset="utf-8">  <title>element-ui中Checkbox 多选框应用后端返回的数据</title>  <!--引入 element-ui 的款式,-->  <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">  <script src="https://cdn.bootcss.com/vue/2.5.16/vue.min.js"></script>  <!-- 引入element 的组件库-->  <script src="https://unpkg.com/element-ui/lib/index.js"></script>  <style>    * {      margin: 0;      padding: 0;    }    #app {      margin: 100px;    }  </style></head><body>  <div id="app">    <el-form ref="form" :model="form" label-width="80px">      <el-form-item label="流动性质">        <el-checkbox-group v-model="form.checkList">          <el-checkbox label="1">上海</el-checkbox>          <el-checkbox label="2">南京</el-checkbox>        </el-checkbox-group>      </el-form-item>      <el-button type="primary" @click="onSubmit">立刻创立</el-button>      </el-form-item>    </el-form>  </div>  <script>    new Vue({      el: '#app',      data() {        return {          // 模仿ajax返回的数据          ajaxDate: {            // city1返回0的时候应该选中, 返回空字符串'' 应该不选中            city1: '',            // city1返回0的时候应该选中, 返回空字符串'' 应该不选中            city2: '',          },          // 本地渲染          form: {            checkList: [],          }        }      },      created() {        // 模仿ajax返回的数据        setTimeout(() => {          this.ajaxDate.city1 == '0' ? this.form.checkList.push('1') : '';          this.ajaxDate.city2 == '0' ? this.form.checkList.push('2') : '';        }, 500)      },      methods: {        // 本地渲染的值转换为要传递给后端定义的值        checkConvertFun(dataList, val) {          if (dataList && dataList.length > 0) {            return dataList.indexOf(val) > -1 ? '0' : ''          } else {            return ''          }        },        // 表单提交        onSubmit() {          const city1 = this.checkConvertFun(this.form.checkList, '1');          const city2 = this.checkConvertFun(this.form.checkList, '2');          const param = { ...this.ajaxDate, ...{ city1, city2 } };          console.log(param, '传递ajax的参数')        }      }    })  </script></body></html>