目录
el-dropdown下拉组件中command方法添加额外参数的方法
el-table filters筛选 调用后端接口筛选全部数据
窗口的宽/高(可以判断窗口调节页面把内容大小/距离等/自适应)
(窗口)margin自适应,消除最后一个div的margin(对于上一个的运用)
截取字符串slice() substr() substring()
el-table表格使用dialog修改内容,表格也跟着修改问题(深拷贝)
-
el-dropdown下拉组件中command方法添加额外参数的方法
<el-dropdown class="pulldown" @command="handleCommand">
<span class="el-dropdown-link">
下拉菜单<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<!-- <el-dropdown-item @click="update(item)">修改</el-dropdown-item> -->
<el-dropdown-item :command="beforeHandleCommand('a',item)">修改</el-dropdown-item>
<el-dropdown-item :command="beforeHandleCommand('b',item)">删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
handleCommand (command) {
switch (command.command) {
case 'a':
// 修改
// console.log(command)
this.update(command.row)
break
case 'b':
// 删除
this.remove(command.row.id)
break
}
},
beforeHandleCommand (item, row) {
return {
'command': item,
'row': row
}
},
-
修改placeholder
::v-deep input::-webkit-input-placeholder{
color:red;
font-size:14px;
}
::v-deep input::-moz-placeholder{ /* Mozilla Firefox 19+ */
color:red;
font-size:14px;
}
::v-deep input:-moz-placeholder{ /* Mozilla Firefox 4 to 18 */
color:red;
font-size:14px;
}
::v-deep input:-ms-input-placeholder{ /* Internet Explorer 10-11 */
color:red;
font-size:14px;
}
-
el-table filters筛选 调用后端接口筛选全部数据
<el-table :data="tableData" @filter-change="filterHandler">
<el-table-column align="header-center" prop="opType" label="操作类型" :filters=" {text: '新增', value: 1}, {text: '删除', value: 2}, {text: '修改', value: 3}, {text: '查询', value: 4}" column-key="opType">
<template slot-scope="scope">
{{ operateType(scope.row.opType) }}
</template>
</el-table-column>
</el-table>
switch case转换
methods: {
// 操作类型转换(1: 新增 2:删除 3: 修改 4:查询)
operateType (data) {
switch (data) {
case 1:
return '新增'
case 2:
return '删除'
case 3:
return '修改'
case 4:
return '查询'
}
},
filterHandler (column) {
this.searchvalue.opTypes = column.opType
this.getData() //调用查询接口
},
}
-
get 数组入参 request
import axios from 'axios'
import qs from 'qs'
paramsSerializer: params => {
return qs.stringify(params, {
indices: false
})
}
-
post 对象数组入参formdata形式
-
滚轮为0,进入页面滚轮不为0,设置为0
updated () {
document.body.scrollTop = 0
window.pageYOffset = 0
document.documentElement.scrollTop = 0
},
-
窗口的宽/高(可以判断窗口调节页面把内容大小/距离等/自适应)
-
(窗口)margin自适应,消除最后一个div的margin(对于上一个的运用)
<div v-for="(item,index) in data" :key="index" :class="(index + 1) % cardNum == 0 ? 'clearMargin' : ''" :style="{'margin-right': cardmaright+'px'}">
</div>
data () {
return {
//div数量
cardNum: 3,
//div之间的距离
cardmaright: null
}
},
mounted () {
//里面的数字是用到的窗口宽度与剩余可利用的窗口宽度
if ((document.body.clientWidth - 229) < 1152) {
this.cardNum = 2
} else if ((document.body.clientWidth - 229) >= 1152 && (document.body.clientWidth - 229) < 1536) {
this.cardNum = 3
} else if ((document.body.clientWidth - 229) > 1536) {
this.cardNum = 4
}
this.cardmaright = ((document.body.clientWidth - 229) - (384 * this.cardNum)) / (this.cardNum - 1)
},
-
点击按钮把页面调节到指定位置
methods: {
regulateButton() {
const targetElement = document.getElementById('target-element');
targetElement.scrollIntoView({
behavior: 'smooth' // 可选配置,控制是否平滑滚动
});
}
}
-
英文与数字过长不折行
overflow: hidden;
white-space: normal;
word-wrap: break-word;
word-break: break-all;
text-overflow: ellipsis;
-
内容过长显示省略号...
width: 135px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
display: inline-block;
-
加默认图片(当没有图片或图片失效时加默认图片)
<img :src="getImg(item)" class="imgStyle" @error="imgError">
// 加默认封面
getImg (item) {
if (item.imgUrl) return item.imgUrl
return backgroundImg
},
// 图片链接失效/错误给默认图
imgError (event) {
const img = event.srcElement
img.src = backgroundImg
img.onerror = null // 防止闪图
},
//css默认背景图,在图片链接失效没判断完成时可以显示css里添加的默认背景图
.imgStyle{
background:url(../../img/backgroundImg.jpg)
}
-
纯前端下载页面内容文件(不调用后端接口下载html文件)
<div id='download-content1'>1</div>
<div id='download-content2'>2</div>
<div id='download-content3'>3</div>
//前端下载文件-html(可以更改其他类型)
const content = document.querySelector('#download-content1').innerHTML + document.querySelector('#download-content2').innerHTML + document.querySelector('#download-content3').innerHTML
// 将内容转换为 Blob 对象
const blob = new Blob([content], { type: 'text/html;charset=utf-8' })
// 创建可下载的 URL
const url = URL.createObjectURL(blob)
// 创建下载链接并模拟点击下载
const link = document.createElement('a')
link.href = url
link.download = 'download.html'
link.click()
// 释放 URL 对象
URL.revokeObjectURL(url)
-
CSS渐变与阴影
渐变 background: linear-gradient(125deg, #eaf9fd, #f1e9fb);
阴影 box-shadow: 0px 1px 8px 2px rgba(0, 0, 0, 0.08);
-
截取字符串slice() substr() substring()
//截取点 . 后面的内容
this.viNameAppend = item.viName.substr(item.viName.lastIndexOf('.') + 1)
-
Vue判断字符串(或数组)中是否包含某个元素的多种方法
-
el-table数据不更新问题
<el-table ref="table" :data="data" row-key="id" highlight-current-row @row-click="rowClick">
<el-table-column :key="columnkey" type="index" width="50">
</el-table-column>
</el-table>
data () {
return {
itemkey: 0,
}
},
methods: {
rowClick(){
this.columnkey++
}
},
-
input框点击回车刷新页面问题
<el-input v-model="value" placeholder="请输入" onkeypress="if (event.keyCode == 13) return false" />
-
el-table表格使用dialog修改内容,表格也跟着修改问题(深拷贝)
this.value = JSON.parse(JSON.stringify(val))
-
el-table行内编辑
-
富文本tinymce
-
统一社会信用代码正则表达式