# presentFront **Repository Path**: xieweig/present-front ## Basic Information - **Project Name**: presentFront - **Description**: qianduan - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-16 - **Last Updated**: 2025-12-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # El-Table 缓存图片 如果图片的数据库地址始终保持不变,只是指向的图片变化,那么不能新的数据与旧的数据相同,不能触发从新加载资源,建议增加updateTime列,使得图片的url地址配上?\_=2022-02-02等改变整体url以解决。 ## El—Upload 等功能类元素类组件如果配置麻烦,有特定请求头等 建议创建自己专用的组件Els-Upload,使用v-bind=$attrs,桥接页面的onsucceed函数,以低级组件库El-upload进一步封装中自己专用中级的组件库Els-Upload。 特别注意onexceed函数是超过才触发,如limit=1,则0-1之间不触发,需要保持autoupload=true自动上传。 1-2之间触发onexceed,此时2替换了原有的1后需要手动调用submit上传。 ## El-Dialog El-Drawer等容器类组件 如果Dialog或Drawer等容器配上自定义内容如Form后单独存在component文件中不是View或Page中,等待View或Page调用的话,那么View为父组件,Dialog-Form为子组件。 Dialog为例子说明,它的出现需要父组件控制,它的关闭有两种, 放弃编辑的关闭由Dialog本身控制,修改提交后的关闭则由子组件控制。 建议子组件 使用ID 作线 提线木偶,ID为属性传给子组件,父组件vmodel直接控制Dialog,给出子组件事件@after让子组件能关闭dialog。 通过父组件closed等dialog钩子控制数据清理等工作。 子组件watch ID,findEntityById。维护Entity编辑。子组件v-bind=$attr 让渡dialog属行给父组件确定 ## v-bind=$attrs 冲突 一般来讲,调用端与被调用端同时书写了某个函数,调用端生效。 在某个基础组件v-bind=$attrs中,父组件与子组件同时对该基础组件指定属性后,由于子组件是该基础组件的直接调用者,而父组件是子组件开启桥接后的间接调用者,所以以子组件的指定属性生效。而不是因为父组件是子组件的调用端而父组件的指定属性生效。 ## reactive响应 const a = reactive({})后,a其实是响应式的 如果手动令a 改为let 后,a=res.data ,则res.data 不会是响应式的 a = {...res.data } 以及object.assign()均不建议 建议声明const state= reactive({a:{},b:1,}) state.a= res.data ### Compile and Hot-Reload for Development ```sh npm run dev ``` ### Type-Check, Compile and Minify for Production ```sh npm run build ``` ### Run Unit Tests with [Vitest](https://vitest.dev/) ```sh npm run test:unit ``` ### Lint with [ESLint](https://eslint.org/) ```sh npm run lint ```