简述:目前准备要做页面重构,现有的弹窗样式要弃用,要改成侧边弹窗,最先尝试的是封装一个公共弹窗组件,通过传参,父组件向子组件传值的形式实现新建或编辑功能,但是面临一个问题,有非常多的接口,每个页面都有不同的新建和编辑的API接口,但是我又不想把这些接口都放在公共组件里面,感觉复用性不高,大佬们有啥办法吗~~~
正在尝试处理接口的放置
听你的描述是解决多个接口不放在公共组件里,那只要把接口作为参数传进来就行了呀
封装一个公共组件,设置(例子不完整)
const props = defineProps({ addApi: Function, updateApi: Function, dataKey: { type: String, default: 'id' }, beforeSubmit: Function, afterSubmit: Function,})const formData = ref({})const loading = ref(false)const isEdit = computed(() => { return Boolean(formData[props.dataKey])}) // 通过id判断是否是编辑还是新增// 在表单提交方法里async function submit(){ const msg = isEdit.value?'编辑成功':'新增成功' const api = isEdit.value? props.updateApi : props.addApi const params = {...formData.value} // 必要时深度克隆 // 如果需要在提交前额外处理 props.beforeSubmit && props.beforeSubmit(params) loading.value = true const res = await api(params).finally(()=> loading.value = false) // 下面自己写了 // ElMessage.success(msg) // visible.value = false // emit('success') // 如果需要在提交后额外处理 props.afterSubmit && props.afterSubmit(params)}
如何更好的设计一个公共的新增、编辑页面? 需求如下:假设有一个新增、编辑功能,在很多页面都需要能够点击按钮,调用公共的添加页面,这个时候,我想到的办法是,通过按需加载的方式,把添加页面放到 app.vue 里面,然后配合vuex,设计一个数字变量,在需要触发弹框的页面,使这个变量+1,然后再app.vue监听这个数字的变化,如果变化,则调用弹框, 请问这一块是否有更好的实现思路? 问题二: 如果这
组件是vuetify,做了个带transition效果的侧边弹窗,放了个表格和分页组件,但是刷新页面第一次进去的时候,分页页码没有缩略,,多的话直接遍布整个网页,但是当我缩放网页或者随机点击某一个页码就会恢复正常,给v-pagination设置total-visible,设为6,正常的是这样子的,感觉是宽度没有做限制的问题,但是侧边弹窗做了宽度限制,分页不应该自适应宽度吗,实在找不出啥原因,求大佬
vue-vuetify怎么实现表格单元格可编辑,并且能获取到输入的值呢?
本文向大家介绍vue如何安装使用Quill富文本编辑器,包括了vue如何安装使用Quill富文本编辑器的使用技巧和注意事项,需要的朋友参考一下 本文为大家记录了vue中安装使用Quill富文本编辑器的具体方法,供大家参考,具体内容如下 1、安装依赖 注:我在已有的vue项目中(含有已安装的依赖,即node_modules文件夹)直接进行安装并不成功,报错,没有截图,但是我没记错的话是显示"项目名\
v-bottom-sheet 咋个实现从侧边平滑出入呢? 求解
问题:所以我用这个npm包react qr扫描仪扫描我PWA中的qr码。现在这是一个基于react的包。react组件(只是一个示例)如下所示: 好的,上面显示的“部分”具有从videoPreviewStyle对象应用的元素级css样式。现在我想做的是定制这个部分。现在,我认为唯一的方法是实际更改npm安装文件(在node_modules文件夹中)。我试过了,但没有成功(我不知道为什么,所以如果你