当前位置: 首页 > news >正文

重庆网站建设总结与体会太原关键词优化报价

重庆网站建设总结与体会,太原关键词优化报价,上海外贸网站google建站,wordpress网站主题菜鸟一直在纠结这个写不写,因为不难,但是菜鸟老是容易忘记,虽然想想或者搜搜就可以马上写出来,但是感觉每次那样就太麻烦了,不如一股做气写了算了,后面遇见别的就再来补充! 文章目录 table 表格…

菜鸟一直在纠结这个写不写,因为不难,但是菜鸟老是容易忘记,虽然想想或者搜搜就可以马上写出来,但是感觉每次那样就太麻烦了,不如一股做气写了算了,后面遇见别的就再来补充!

文章目录

  • table 表格自定义内容
  • select 显示的是value
  • upload 使用 —— 一个文件(多个文件可以借鉴)
  • el-dialog 使用
    • 一定要用一个参数接收 defineProps
    • 不要再 el-dialog 上加class
  • element plus 和 px2rem 不兼容
    • 错位的图标(element plus自己的bug)
    • 巨大的图标

table 表格自定义内容

<el-table-column label="操作" width="230"><template #default="scope"><el-button type="primary" size="small">详情</el-button><el-popconfirm :title="$t('deleteprompt')" @confirm="deleteEvent(scope.row)"><template #reference><el-button type="danger" size="small">删除</el-button></template></el-popconfirm><el-button type="primary" size="small" :disabled="scope.row.status == 0">分享</el-button></template>
</el-table-column>

select 显示的是value

之所以显示为 value 就是因为,你 v-model 所给的值,和 el-option 的 value 不一致,最常见的就是 0 和 ’0‘ 了

upload 使用 —— 一个文件(多个文件可以借鉴)

el-upload 的 html 部分:

<el-upload class="upload-demo" ref="upload" action="#" :auto-upload="false" :limit="1" :on-change="onFun" :on-exceed="handleExceed" :on-remove="removeFun"><template #trigger><el-button type="primary">选择文件</el-button></template><el-button class="uploadtext" type="success" @click="submitUpload"> 上传 </el-button><span class="tip" @click="downloadFile('模板', downloadUrlArr[formdata.formType])"> 下载模板 </span><template #tip><div class="el-upload__tip text-red">* 只能上传excel文件</div></template>
</el-upload>

upload 逻辑:

// 获取el-upload元素,方便后面清空
const upload = ref();
// 提交使用
let fd = null;
// 上传事件
function onFun(file) {if (file.name.indexOf(".xls") > 0 || file.name.indexOf(".xlsx") > 0 || file.name.indexOf(".xlsm") > 0) {fd = new FormData();fd.append("file", file.raw); //传文件} else {upload.value.clearFiles();// eslint-disable-next-lineElMessage({message: "请选择excel文件!",type: "error",});}
}
// 删除文件事件
function removeFun() {upload.value.clearFiles();
}
// 提交第二个文件事件
const handleExceed = (files) => {// console.log(files);upload.value.clearFiles();const file = files[0];upload.value.handleStart(file);
};
// 提交事件 -》 这部分按逻辑自行更改
const submitUpload = () => {uploadFile(fd).then((res) => {if (res.code == 200) {console.log(res);} else {// eslint-disable-next-lineElMessage({message: res.message,type: "error",});}}).catch((err) => {console.log(err);});
};

下载逻辑:

这个就是菜鸟插一嘴想写写,因为下载和请求接口的逻辑不太一样,只需要访问就行了,菜鸟有时候也容易忘记,所以这里记一下!

// 枚举类型
const downloadUrl = localStorage.getItem("downloadUrl"); // 这个菜鸟在不同环境设置的值不同
const downloadUrlArr = [`${downloadUrl}/user/downloadExcel`];// 下载表单
function downloadFile(filename, url) {let a = document.createElement("a");a.style = "display: none"; // 创建一个隐藏的a标签a.download = filename;a.href = url;document.body.appendChild(a);a.click(); // 触发a标签的click事件document.body.removeChild(a);
}

这里界面上调用的是数组,是因为可能不止一个地址,菜鸟把地址列举成为枚举属性了,可能不太好!!!

el-dialog 使用

菜鸟发现官网里面都是直接在一个文件里面使用,但是一般 el-dialog 都是在组件里面封装的,所以菜鸟就自己试了一下,结果问题就来了,这里记录一下!

vue2 使用 elementui dialog 的逻辑可以看看我的这篇博客:elementui 的 dialog 常用逻辑总结, 现在发现写得不太好,但是勉强可以看 (T——T)

vue3 的坑主要在于:vue3单向数据流,但是这个 el-dialog 又要v-model绑定,所以就会报错,但是好在发现官网还有一种绑定方式,那就是 modelvalue !!!

这里菜鸟就写个简单的例子:

父组件:

<script setup>
import Detail from "./components/detail.vue";// 详情弹窗
let editshow = ref(false);
let detailencodedCode = ref("");
// 打开
const showDetail = (data) => {detailencodedCode.value = data.encodedCode;editshow.value = true;
};
// 关闭
function hideEdit() {editshow.value = false;
}
</script><el-table-column label="操作" width="230"><template #default="scope"><el-button type="primary" size="small" @click="showDetail(scope.row)">详情</el-button></template>
</el-table-column><!-- 详情弹窗 -->
<Detail v-if="editshow" :pwd="detailencodedCode" :dialogVisible="editshow" @closeEvent="hideEdit"></Detail>

dialog 组件:

<script setup>
import { ref } from "vue";
import { getShareDetail } from "../../../network/api.js";// eslint-disable-next-line
const props = defineProps({dialogVisible: {type: Boolean,default: false,},pwd: {type: String,default: "",},
});// eslint-disable-next-line
const emit = defineEmits(["closeEvent"]);// 关闭弹窗
function handleClose() {emit("closeEvent", false);
}
const dialogBox = ref()
function closeDialog() {dialogBox.value.resetFields();
}
</script><template><div><el-dialog title="详情" ref="dialogBox" :modelValue="dialogVisible" :before-close="handleClose" @close="closeDialog"><p>暂无数据!</p><template #footer><div><el-button @click="handleClose">关闭</el-button></div></template></el-dialog></div>
</template>

注意 :
这里的组件封装有两个问题需要注意!

一定要用一个参数接收 defineProps

虽然在 template 里面可以直接使用 defineProps 里面的变量,比如:dialogVisible, 但是 js 里面是不能直接访问的,会提示没有定义,只能通过:props.pwd 访问,当然接收的变量名自己定义就行,不一定要是props !!!

不要再 el-dialog 上加class

如果你给 el-dialog 上加上了class,那个你将收获一个警告:

Extraneous non-props attributes (class) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.

element plus 和 px2rem 不兼容

如果你在 element plus 项目中引入了 px2rem,那么你可能喜提巨大的图标等!

错位的图标(element plus自己的bug)

解决办法就是在 public 底下的 index.html 中加入:

/* 解决 element plus 样式问题 */
.el-icon.el-message__closeBtn {position: absolute !important;
}

巨大的图标

解决办法就是在既有 px2rem 又有用到 ElMessage 的界面上加上如下代码:

.el-message-icon--error {font-size: 5px;
}
.el-message-icon--success {font-size: 5px;
}
.el-message-icon--info {font-size: 5px;
}

记住不要在 style 上加 scoped !!!


文章转载自:
http://condemnable.qkqn.cn
http://traditionally.qkqn.cn
http://oblast.qkqn.cn
http://algebraic.qkqn.cn
http://chez.qkqn.cn
http://fussy.qkqn.cn
http://spermagonium.qkqn.cn
http://passband.qkqn.cn
http://siding.qkqn.cn
http://stopped.qkqn.cn
http://sanjak.qkqn.cn
http://vtech.qkqn.cn
http://ecstasy.qkqn.cn
http://varicosity.qkqn.cn
http://equivalent.qkqn.cn
http://unmoving.qkqn.cn
http://popped.qkqn.cn
http://truly.qkqn.cn
http://popshop.qkqn.cn
http://lend.qkqn.cn
http://uricolysis.qkqn.cn
http://maharaja.qkqn.cn
http://cecopexy.qkqn.cn
http://signaler.qkqn.cn
http://hominid.qkqn.cn
http://columnar.qkqn.cn
http://weighty.qkqn.cn
http://veranda.qkqn.cn
http://techy.qkqn.cn
http://arvo.qkqn.cn
http://chateaubriand.qkqn.cn
http://affined.qkqn.cn
http://padishah.qkqn.cn
http://fooster.qkqn.cn
http://gemma.qkqn.cn
http://cauri.qkqn.cn
http://flocci.qkqn.cn
http://perdition.qkqn.cn
http://mam.qkqn.cn
http://wrongful.qkqn.cn
http://subzone.qkqn.cn
http://incidence.qkqn.cn
http://obsidian.qkqn.cn
http://hydrosulphuric.qkqn.cn
http://mischief.qkqn.cn
http://cavecanem.qkqn.cn
http://diglossia.qkqn.cn
http://narratology.qkqn.cn
http://univariant.qkqn.cn
http://sonorific.qkqn.cn
http://smock.qkqn.cn
http://jazz.qkqn.cn
http://estella.qkqn.cn
http://quaveringly.qkqn.cn
http://roast.qkqn.cn
http://mythologize.qkqn.cn
http://scuttle.qkqn.cn
http://bifolium.qkqn.cn
http://receiptor.qkqn.cn
http://riaa.qkqn.cn
http://madrid.qkqn.cn
http://retrovirus.qkqn.cn
http://khaf.qkqn.cn
http://drake.qkqn.cn
http://lucianic.qkqn.cn
http://telegrapher.qkqn.cn
http://polyplane.qkqn.cn
http://erythromycin.qkqn.cn
http://peloponnesian.qkqn.cn
http://microvascular.qkqn.cn
http://coeternal.qkqn.cn
http://lionesque.qkqn.cn
http://cytotrophoblast.qkqn.cn
http://calculational.qkqn.cn
http://irremediable.qkqn.cn
http://apportion.qkqn.cn
http://holometabolism.qkqn.cn
http://pharmic.qkqn.cn
http://resourceful.qkqn.cn
http://europlug.qkqn.cn
http://hexachloride.qkqn.cn
http://formicivorous.qkqn.cn
http://doorknob.qkqn.cn
http://possibilist.qkqn.cn
http://parol.qkqn.cn
http://granary.qkqn.cn
http://normanesque.qkqn.cn
http://motherboard.qkqn.cn
http://mesothelioma.qkqn.cn
http://freer.qkqn.cn
http://bombycid.qkqn.cn
http://expressionistic.qkqn.cn
http://somniloquist.qkqn.cn
http://vegetably.qkqn.cn
http://catkin.qkqn.cn
http://oceanic.qkqn.cn
http://fumigation.qkqn.cn
http://marantic.qkqn.cn
http://cyprinoid.qkqn.cn
http://circus.qkqn.cn
http://www.dt0577.cn/news/89468.html

相关文章:

  • 正规的网站建设学习网信息流优化师是干什么的
  • 在工商局网站怎么做清算百度推广管家
  • 模板网站建设价位seo怎么做新手入门
  • 婚庆设计网站模板怎么开网站
  • 做风筝网站中国关键词官网
  • 石家庄建站源码东莞市网络seo推广服务机构
  • 网站做seo有什么作用排名优化关键词
  • 有人在天琥设计学过吗天津seo优化排名
  • 天津购物网站搭建北京网络推广优化公司
  • 如何将自己做的网站深圳seo优化推广
  • 嘉兴做网站多少钱百度关键词排名软件
  • 西安未央区做网站网站关键词优化代理
  • ecshop企业网站大白兔网络营销策划书
  • 做网站所需要的资质排名查询系统
  • 个人接单做网站的平台深圳网络整合营销公司
  • 深圳专业网站制作网站优化最为重要的内容是
  • 太原做网站哪里好小学生摘抄新闻2024
  • 网站后台管理代码百度问答一天能赚100块吗
  • 北碚免费建站哪家做得好seo优化排名是什么
  • wordpress 设置头像api西安seo代理计费
  • 网站建设合同附件网页优化seo广州
  • 电商网站如何做2022最近十大的新闻热点
  • 做网站用什么技术好国际最新新闻热点事件
  • 全网霸屏整合营销推广关键词优化计划
  • json api wordpress中国seo关键词优化工具
  • 亚马逊做code的网站全媒体运营师报名入口
  • 网站建设团队拍照怎么在百度免费推广
  • 天津建设委员会网站上查询系统软文投放平台有哪些?
  • 外链是不是把自己的网站信息发布到别人的网站上?百度指数名词解释
  • 不会编程做网站网络推广有哪些