//后台返回的数据
let arr=[
{
label:'日期', // 名称
value:'date',// 键名
type:'date'// 筛选条件控件类型
}
]
/**
* 1.后台返回的数据三个字段必须存在 label:名称 value:键名 type:控件类型 比如:date-日期 input-输入框 option-下拉框
* 2.新建一个components文件夹用来存放筛选条件组件,一个条件一个vue文件
* 3.新建一个index.js文件把components文件夹里面的所有组件引入 比如 import input from './components/input.vue' vue文件后缀随便命名,import后面的名称要和type类型一样
* 4.在index.js中export{input,option,date} 把所有组件导出去
* 5.在需要用到的页面中引入index.js文件 import components form './index.js',在component函数中引入所有组件 components:{ ...components}
* 6.定义form对象 this.form={}
* 7.for循环遍历筛选条件<component :is="item.type" v-for="item in arr" v-model="form[item.value]"></component> v-model组件数据双向绑定
* 8.比如input组件中的数据双向绑定
* <template>
* <el-input v-model="modelValue"></el-input>
* </template>
* export default(){
* props:{
* value:[String,Number] // value是组件传过来的参数 比如form.date,被解析成了value
* }
* computed:{
* modelValue:{
* get(){
* return this.value
* },
* set(newValue){
* this.$emit('input',newValue)
* }
* }
* }
* }
*/
02-19
1968