使用elementplus遇到的问题
1.el-form中input无法输入
问题描述:在el-form中的el-input中输入数字或字母时出现卡顿,输入不进去的现象
问题原因:el-form的ref和model的名称写成了一样的单词
问题解决:两个不能一样
2.input去除边框
问题描述:el-input的边框使用border:none
无法去除
问题原因:element plus和element的el-input不太一样,不止需要border,还需要使用box-shadow: none
问题解决:
:deep(.el-input__wrapper) {box-shadow: none !important;border-radius: 0;
}
:deep(.el-input) {box-shadow: none !important;border-radius: 0;
}
3.去除el-input验证失败后的红框
问题描述:el-input验证失败后鼠标移上去还会出现红框
问题解决:
:deep(.el-form-item.is-error .el-input__wrapper.is-focus) {box-shadow: none !important;
}
4.el-form表单验证
由于使用vue+js,导致表单验证不会用,哈哈哈,正在摸索vue3,先用js把vue2项目迁移过来后再使用ts
<el-formref="loginFormRef":model="loginForm":rules="loginRules"class="login-form"
>
import { ref, computed, unref } from 'vue';
const loginFormRef = ref(null)
const handleLogin = async () => {const form = unref(loginFormRef)if (!form) returnawait form.validate((valid, fields) => {console.log(valid);if (valid) {console.log('submit!')} else {console.log('error submit!', fields)}})
}
vue3遇到的问题
1.vue设置代理后查看真实接口调用的ip地址
proxy: {// 选项写法'/api': {target: 'http://xxx.xxx.xxx.xxx:xxxx',changeOrigin: true,rewrite: (path) => path.replace(/^\/api/, '')bypass (req, res, options) {const proxyUrl = new URL(options.rewrite(req.url) || '', (options.target))?.href || '';console.log(proxyUrl);req.headers["x-req-proxyUrl"] = proxyUrl;res.setHeader("x-res-proxyUrl", proxyUrl)}},},
2.使用动态路由后刷新页面会出现找不到路径导致的空白页面或404
解决方法:
- 获取动态路由使用await而不是.then
- 获取前加一个判断:
import router from './router/index';const whiteList = ['/login']; // no redirect whitelist
let hasRoles = true;router.beforeEach(async (to, from, next) => {if (getItem('token')) {if (to.path === '/login') {// 1.已经登陆跳转到首页next({ path: '/' });} else {const userStore = useUserStore();const permissionStore = usePermissionStore();try {if (userStore.sysUser === '') {await userStore.getUserInfo();}const accessRoutes = await permissionStore.generateRoutes();if (hasRoles) {accessRoutes.forEach((route) => {router.addRoute(route);});hasRoles = false;next({ ...to, replace: true });} else {next();}} catch (error) {// 移除 token 并跳转登录页await userStore.logout();next(`/login?redirect=${to.path}`);}}} else {// 2.未登录,只能去登录页面if (whiteList.indexOf(to.path) !== -1) {next();} else {next(`/login?redirect=${to.path}`);}}
});