动态控件代码如下
{{ $t('table.search') }}
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
}
}动态表格如下
需要两个数组,一个保存表格列名,一个保存表格数据
tables: [], tableData: [dataItem: xxx, dataName: xxx], //保存表格列名
补充知识:vue table表格的使用(动态数据展示)
第一种方式
{{tableDataalllist[scope.$index][index]}} // 当前行数据 接收两个参数scope.$index; scope.row
| id | name | age |
|---|---|---|
| 1 | 张三 | 23 |
| 2 | 李四 | 15 |
| 3 | 王五 | 18 |
第二种方式(动态进行列的添加)
export default { data(){ return{ // 数据结构 activePlayerDataPropLabelArray为label标签显示label表示当前列th的显示的值,prop表示当前'日期'列下显示date数据,'斗地主'列下显示prop为12的数据,'麻将'列下显示prop为15的数据, activePlayerDataPropLabelArray:[{ label:'日期', prop:'date' },{ label:"斗地主", 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:'五筒' }] } } } {{scope.row[item.prop]?scope.row[item.prop]:'暂无数据'}}
| 日期 | 斗地主 | 麻将 |
|---|---|---|
| 2018-09-10 | 老k | 一万 |
| 2018-08-01 | 炸弹 | 一条 |
| 2018-08-02 | 对子 | 一万 |