幽灵资源网 Design By www.bzswh.com
上面要求做一个根据后台数据动态生成控件,然后让用户输入提交查询信息,然后动态生成表格在显示出来。动态控件代码如下
<el-form
:model="formData"
style="padding: 0 5px;">
<div v-if="tableshow">
<div v-for="(item,i) in control" :key="i" style="padding-left:10px; float:left" >
<el-form-item
v-if="item.type=='input'"
:key="item.name"
:prop="item.name"
label-width="100px">
<label slot="label">{{ item.cnname }}:</label>
<el-input v-model="item.value" size="mini" style="width: 100px; padding-right: 5px;"/>
</el-form-item>
<el-form-item
v-if="item.type=='time'"
:key="item.name"
:prop="item.name"
label-width="100px">
<label slot="label">{{ item.cnname }}:</label>
<el-date-picker
v-model="item.value"
value-format="yyyy-MM-dd HH:mm:ss"
type="date"
placeholder="选择日期"/>
</el-form-item>
</div>
<div style="padding-left:10px; float:left">
<el-form-item prop="name" style="width: 20px; margin-bottom: 0px;">
<el-button class="filter-item" type="primary" icon="el-icon-search" size="mini" @click="cmdsearch">
{{ $t('table.search') }}
</el-button>
</el-form-item>
</div>
</div>
</el-form>
data格式如下
control: [{
name: 'input1',
cnname: '输入框1',
type: 'input',
value: '这里'
}, {
name: 'time1',
cnname: '时间范围',
type: 'time',
value: null
}]
还要监听所有控件变化
computed: {
// 监听所有控件变化
formData: function() {
var formData = {}
this.control.forEach((item) => {
formData[item.name] = item.value
})
return formData
}
}
动态表格如下
<el-table
v-if="tableshow"
id="exportTab"
ref="multipleTable"
:data="tables"
border="true"
tooltip-effect="dark"
style="width: 100%;"
@selection-change="selectArInfo">
<el-table-column fixed="left" label="序号" width="62px" type="index"/>
<template v-for="(col) in tableData">
<el-table-column
:show-overflow-tooltip="true"
:formatter="fmtLength"
:prop="col.dataItem"
:label="col.dataName"
:key="col.dataItem"
resizable="true"
width="120px"/>
</template>
</el-table>
需要两个数组,一个保存表格列名,一个保存表格数据
tables: [], tableData: [dataItem: xxx, dataName: xxx], //保存表格列名
补充知识:vue table表格的使用(动态数据展示)
第一种方式
<el-table :data="tableDataalllist" border style="width: 100%" @sort-change="totalusercount">
<el-table-column :label="head" :prop="head" v-for="(head, index) in header" :key="head" :sortable="定义自定义排序项">
<template slot-scope="scope">
{{tableDataalllist[scope.$index][index]}} // 当前行数据 接收两个参数scope.$index; scope.row
<template>
<el-table-column>
<el-table>
<script>
export default{
data(){
return{
// 数据结构
tableDataalllist:[{
1,'张三','23'
},{
2,'李四','15'
},{
3,'王五','18'
}],
header:['id','name','age']
}
},
methods:{
// 接受一个obj参数
totalusercount(obj){
console.log(obj.prop) // 排序规则
console.log(obj.order) // 排序方式
}
}
}
</script>
第二种方式(动态进行列的添加)
<el-table :data="gameareatable" v-loading="cardBuyConsumeDataLoading" v-if="gameareatable.length> 0">
<el-table-column align="center" v-for="(item,index) in activePlayerDataPropLabelArray" :prop="item.prop" :label="item.label"
:key="item.prop">
<template slot-scope="scope">
{{scope.row[item.prop]"斗地主",
prop:"12"
},{
label:'麻将',
prop:'15'
}],
gameareatable:[{
date:"2018-09-10",
12:'老k',
15:'一万'
},{
date:"2018-08-01",
12:'炸弹',
15:'一条'
},{
date:"2018-08-02",
12:'对子',
15:'五筒'
}]
}
}
}
以上这篇vue实现动态表格提交参数动态生成控件的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
幽灵资源网 Design By www.bzswh.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
幽灵资源网 Design By www.bzswh.com
暂无评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?