首页 > 其他 > 详细

18 动态表单显示

时间:2020-05-21 14:28:35      阅读:44      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

 后台可以控制前端显示那些字段,前端整体代码如下

<template>
  <div class="app-container">
    <el-table :key="key" :data="tableData" border fit highlight-current-row style="width: 100%">
      <el-table-column v-for="item in formThead" :key="item" :label="item">
        <template slot-scope="scope">{{ scope.row[item] }}</template>
      </el-table-column>
    </el-table>
  </div>
</template>
<script>
export default {
  data() {
    return {
      tableData: [],
      key: 1, // table key
      formThead: [] // 默认表头 Default header
    };
  },
  created() {
    this.getList();
  },
  methods: {
    getList() {
      this.postRequest("/list").then(response => {
        this.tableData = response.data.list; //表数据
        this.formThead = response.data.showList; //表头,控制是否显示对应的列
      });
    }
  }
};
</script>

后台代码如下

@RestController
public class UserController {


    @RequestMapping("list")
    public HashMap<String, Object> list(){

        ArrayList<User> list = new ArrayList<>();
        User u1 =null;

        for (int i = 0; i <5 ; i++) {
            u1= new User();
            u1.setId(i);
            u1.setPassword("password"+i);
            u1.setUsername("admin"+i);
            u1.setAge(i+"岁");
            list.add(u1);
        }

        //控制那些字段显示
        ArrayList<String> showList = new ArrayList<>();
        showList.add("username"); 
        showList.add("password");
        showList.add("id");
        showList.add("sex");

        HashMap<String, Object> map = new HashMap<>();
        map.put("showList",showList);
        map.put("list",list);
        return map;
    }
}

后期会对组件进行封装,敬请期待

 

18 动态表单显示

原文:https://www.cnblogs.com/gfbzs/p/12930278.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!