
<el-form :model="formData" :rules="formRules" ref="form">
<el-form-item v-for="(item, index) in formConfig" :label="item.label" :key="index">
<template v-if="item.type === 'input'">
<el-input v-model="formData[item.field]" :placeholder="item.placeholder" @input="handleInput(item.field)" />
</template>
<template v-else-if="item.type === 'select'">
<el-select v-model="formData[item.field]" placeholder="请选择" @change="handleSelect(item.field)">
<el-option v-for="option in item.options" :key="option.value" :label="option.label" :value="option.value" />
</el-select>
</template>
<!-- 其他表单元素类型 -->
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
return {
formConfig: [], // 表单数据结构
formData: {}, // 表单数据
formRules: {} // 表单验证规则
}
},
methods: {
handleInput(field) {
// 处理输入框 input 事件
},
handleSelect(field) {
// 处理下拉框 change 事件
}
// 其他事件处理函数
}
}
</script>
既然你是通过dom添加,那就用dom绑定就是了document.getElementById('table').innerHTML = strdocument.getElementById('qwe').onclick = function(){console.log(1)
}
在vue,react中,讲的就是虚拟dom,就是尽量避免 *** 作dom,所以这样写的思想是错的,你应该去利用数据来渲染
template:
<table id="table">
<tr v-for="(item,i) in tableData" :key='i'>
<td v-for="(item2,j) in item" :key='j' @click='handleClick'>{{item2.title}}</td>
</tr>
</table>
data:
tableData:[]
methods:btn(){
this.tableData = [[{title:'qwe'}]]
}
1、请求获取的数据赋值给页面data中;2、页面 wx:for循环输出 并每个item中添加bindtap点击事件 clickid(item.id)
3、js中clickid点击事件中 就拿到id了
clickid(id){
console.log(id)
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)