㈠ element-ui Table表格載入數據過多時,頁面會很卡,怎麼處理
https://github.com/livelyPeng/pl-table 一個表格組件(完美解決萬級數據渲染卡頓問題),流暢渲染萬級數據並不會影響到el-table的原有功能
㈡ elementUI 常見問題及解決辦法
https://..com/question/1899527108513434180.html
https://segmentfault.com/q/1010000012604150
https://segmentfault.com/q/1010000018747589
https://segmentfault.com/q/1010000023266974
https://blog.csdn.net/weixin_35714733/article/details/112443431
https://blog.csdn.net/weixin_46535287/article/details/121691889
https://blog.csdn.net/weixin_45309872/article/details/94553187
https://blog.csdn.net/cofecode/article/details/77979792
https://www.cnblogs.com/kevinyeah/p/11084121.html
https://blog.csdn.net/CarryBest/article/details/79959389
https://blog.csdn.net/cofecode/article/details/78539975
https://my.oschina.net/yxmBetter/blog/1647679
https://blog.csdn.net/qq_33769914/article/details/81324267
https://segmentfault.com/q/1010000019699116
https://blog.csdn.net/qq_29091239/article/details/84592828
https://blog.csdn.net/qq_33769914/article/details/81324267
https://blog.csdn.net/weixin_30381793/article/details/99770854
https://www.jianshu.com/p/1405f389fb1d
https://blog.csdn.net/qq_41688165/article/details/80834842
文件大小限制: https://blog.csdn.net/weixin_39616772/article/details/84229536
案例參考: https://www.cnblogs.com/yysbolg/p/10516144.html
https://www.cnblogs.com/lyyguniang/p/9850696.html
https://blog.csdn.net/github_37847992/article/details/80390673
https://www.cnblogs.com/liuruolin/p/7517470.html
https://www.cnblogs.com/fangnianqin/p/9549900.html
https://blog.csdn.net/qq_32340877/article/details/80272155
https://www.jianshu.com/p/b3e40837ec1d
https://blog.csdn.net/xr510002594/article/details/86245903
https://blog.csdn.net/suprezheng/article/details/86586902
https://www.cnblogs.com/web-cuicui/p/12629079.html
https://blog.csdn.net/leeleejoker/article/details/80886278
https://blog.csdn.net/qq_33769914/article/details/82800962
https://segmentfault.com/q/1010000010269763
https://blog.csdn.net/weixin_42124196/article/details/101283932
https://www.jianshu.com/p/229d4a8b871e
https://www.cnblogs.com/mlllily/p/12761280.html
1、表單上加 rules {}
2、el-form-item 單個添加 :rules=「[{require: true, message: '請輸入內容'}]」
3、動態增減表單項
https://segmentfault.com/a/1190000020410128?utm_source=tag-newest
https://blog.csdn.net/pnjtvxcp/article/details/90176034
https://blog.csdn.net/qq_36437172/article/details/107348939
https://segmentfault.com/q/1010000015393449
https://segmentfault.com/q/1010000012309004
https://www.jianshu.com/p/63bfbbbd1e82
https://blog.csdn.net/xiao_shutong/article/details/77145912
https://segmentfault.com/q/1010000011579964
https://blog.csdn.net/qq_28773851/article/details/89212633
https://www.cnblogs.com/shanxinxin/p/13141434.html
https://..com/question/589271034747602805.html
https://blog.csdn.net/rickiyeat/article/details/76595390
https://blog.csdn.net/qq_19872525/article/details/90526606
https://blog.csdn.net/jokren/article/details/86065217
http://www.imooc.com/wenda/detail/527251
https://blog.csdn.net/qq_35504206/article/details/80093740
https://www.jianshu.com/p/5755f282fcab
https://www.cnblogs.com/Mr-Rshare/p/9777340.html
https://www.cnblogs.com/liujiazhu/archive/2004/01/13/8581762.html
https://blog.csdn.net/Make_Progress365/article/details/103888024
https://blog.csdn.net/qq_32593725/article/details/79194321
㈢ element ui樹形控制項多選功能的使用
樹形控制項使用文檔
一、獲取選中的值
方法:check() 在復選框改變時觸發
參數:當前操作的節點數據、樹目前的選中狀態對象,包含 checkedNodes、checkedKeys、halfCheckedNodes、halfCheckedKeys 四個屬性
二、懶載入
方法:load() 在渲染樹加時載且只載入一次,會緩存每次懶載入獲得的子節點數據
參數:node,resolve
出現問題:由於在懶載入模式下,渲染的樹不會動態更新。如果在一個頁面里,使用同一個樹渲染數據,但是根據不同條件渲染的數據不同,需要重新渲染樹。
解決方式:1)在load方法中,記錄下渲染第一層的node和resolve 2) 在需要重新渲染樹的方法中再次調用loadNode()
㈣ element-ui彈窗組件再次打開時殘留上次打開時的數據
原因:vue指令v-if具有緩存效果,上次打開保存的數據依然保留著;
解決:在dialog關閉的時候清除數據,
可以封裝為全局方法:
㈤ ElementUI--Table
```
<template>
<div>
<el-row :gutter="10">
<el-col :span="6">
<el-button type="primary" size="mini" @click="handleSelection"
>獲取選中的行</el-button
>
</el-col>
</el-row>
<!-- el-row :gutter:分欄間隔 -->
<!-- el-col :offset:分欄偏移 -->
<!-- el-row type="flex"對齊方式 -->
<el-table
:data="tableData"
border
stripe
height="300px"
style="width: 100%"
@selection-change="handleSelectionChange"
>
<!-- 通過:data屬性--綁定數據 -->
<!-- border:豎向邊框 -->
<!-- stripe:斑馬線效果,即隔行換色效果 -->
<!-- height:固定表頭,即固定表格table的高度,超出顯示滾動條,在內部滾動 -->
<!-- @selection-change="handleSelectionChange" => 獲取到當前選中的行 -->
<el-table-column
header-align="center"
align="center"
type="selection"
></el-table-column>
<el-table-column
header-align="center"
align="center"
label="序號"
type="index"
width="100"
>
</el-table-column>
<el-table-column prop="date" label="日期" width="180"></el-table-column>
<!-- fixed="left" -->
<!-- fixed:固定列,需要固定誰就給誰添加,left/right -->
<!-- prop:用來決定展示哪一個屬性的值;label:設置表格頭 -->
<!-- header-align:表頭顯示方式 -->
<!-- align:首列顯示方式 -->
<!-- type:序列號index/多選框selection -->
<el-table-column label="姓名" prop="name"></el-table-column>
<el-table-column label="地址" prop="address"></el-table-column>
<el-table-column header-align="center" align="center" label="操作">
<template slot-scope="scope" >
<el-button
type="primary"
icon="el-icon-edit"
size="mini"
@click="handleEiit(scope.row)"
>編輯</el-button
>
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
@click="handleDelete(scope.row)"
>刪除</el-button
>
<!-- scope.row 獲取當前行的數據 -->
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
name: "Table",
methods: {
handleSelectionChange(value) {
console.log(value); //默認會返回,所有選中的行;獲取到當前選中的行
this.selections = value; //為value賦值
},
handleSelection() {
console.log(this.selections); //通過selections事件,不斷的去記錄當前選中的數據
},
handleEiit(row) {
console.log(row);
},
handleDelete(row) {
console.log(row);
},
},
data() {
return {
selections: [], //默認沒有選擇,保存選中數據
tableData: [
{ date: "2020-01-01", name: "小不點兒", address: "河北省保定市" },
{ date: "2020-02-02", name: "張三", address: "河北省保定市" },
{ date: "2020-03-03", name: "王五", address: "河北省保定市" },
{ date: "2020-04-01", name: "李四", address: "河北省保定市" },
{ date: "2020-05-01", name: "趙晴", address: "河北省保定市" },
{ date: "2020-06-01", name: "馮峰", address: "河北省保定市" },
{ date: "2020-07-01", name: "小一", address: "河北省保定市" },
{ date: "2020-08-01", name: "大張", address: "河北省保定市" },
{ date: "2020-09-01", name: "吳助", address: "河北省保定市" },
],
};
},
};
</script>
```
㈥ Element UI 基本使用
1:npm 安裝
推薦使用 npm 的方式安裝,它能更好地和 webpack 打包工具配合使用。
npm i element-ui -S,
2:引入 Element
你可以引入整個 Element,或是根據需要僅引入部分組件。我們先介紹如何引入完整的 Element。
2.1完整引入
在 main.js 中寫入以下內容:
import Vue from 'vue'
import App from './App.vue'
import ElementUI from 'element-ui';//全局引入
import 'element-ui/lib/theme-chalk/index.css';
Vue.config.proctionTip = false
//Vue.use(ElementUI)
Vue.use(Button)
Vue.use(Aside)
Vue.use(Main)
Vue.use(Container)
new Vue({
render: h => h(App),
}).$mount('#app')
2.2按需引入
藉助 babel-plugin-component ,我們可以只引入需要的組件,以達到減小項目體積的目的。
首先,安裝 babel-plugin-component:
在命令行輸入
npm install babel-plugin-component -D
然後,將 .babelrc 修改為://等同於 babel.config.js文件
mole.exports = {
presets: [
'@vue/cli-plugin-babel/preset',
["@babel/preset-env", { "moles": false }]
],
"plugins": [
[
"component",
{
"libraryName": "element-ui",
"styleLibraryName": "theme-chalk"
}
]
]
}
2.2.1在main.js配置
import Vue from 'vue'
import App from './App.vue'
import {Button,Aside,Main,Container} from 'element-ui';//按需引入 註:Container首字母大寫
import 'element-ui/lib/theme-chalk/index.css';
Vue.config.proctionTip = false
//Vue.use(ElementUI)
Vue.use(Button)
Vue.use(Aside)
Vue.use(Main)
Vue.use(Container)
new Vue({
render: h => h(App),
}).$mount('#app')
小菜剛學會element_ui組件使用,如何全局引入庫文件太大,開發時浪費資源,希望大神們多指教
㈦ element-ui中的table可分頁多選功能-記住上一頁勾選數據
vue中使用el-table,點擊下一頁後常需要記住上一頁所勾選的數據
2.然後第一列,即有多選框的一列,添加:reserve-selection="true"
3.然後在methods中添加函數:
如果需要清除勾選數據(刷新也頁面跳轉後會自動清除)
㈧ elementUI的Table 表格問題
在開發vue框架項目時,引入element插件,使用table表格組件時,遇到了一些問題,以下列出以供參考。
如上圖,在當前導航表格table樣式是沒問題的,但當我點擊別的導航去到另外的頁面,然後再回到之前的導航頁面,表格table的樣式就會混亂,隨便點擊當前頁面或刷新亦或拉伸頁面,樣式又恢復正常,很奇怪的樣式問題。
打開調試之後,發現table的寬度並沒有按照100%來顯示,而是根據表格寬度值來計算的(我這里是640px),並且在table標簽底下發現了colgroup和col標簽,colgroup包裹著對應單元格數的col,並且col的寬度為80px,瞬間恍然大悟,明白640px是怎麼得來的,這里一共有8個單元格,8*80就是640px了,那要怎麼解決這個默認樣式呢?
一、給表格添加固定寬度
二、利用flex的特性
2.table表格數據問題
table顯示的數據並不是一成不變的,這里傳入table的data需要有實時監控的功能,其中一個數據的改變就要及時顯示,這里我用計算屬性computed來進行監控。有時候後台返回的狀態數據是0,1等等,我們也可以在裡面進行判斷渲染。
3.table表格的排序、篩選
4.表頭添加Tooltip 文字提示
今天的心得就到這兒了,希望可以幫助到有需要的小夥伴兒O(∩_∩)O
㈨ element-ui輸入框怎麼修改建議顯示模版
<script>import Vue from 'vue'Vue.component('my-remote', { functional: true, render: function(h, ctx) { var item = ctx.props.item; let str = h('li', ctx.data, [ h('div', { attrs: { class: 'name' } }, [item.value]), h('span', { attrs: { class: 'addr' } }, [item.address]) ]); if (item.str) { // 根據參數不同 修改原模版結構 str = h('center', { attrs: { class: 'ems' } }, [item.str]) } return str }, props: { item: { type: Object, required: true } }}); export default { data() { return { restaurants: [], state: '', timeout: null, _that: {} // 記錄this,用來發起http請求 }; }, methods: { querySearch(queryString, cb) { let restaurants = this.restaurants; if (restaurants.length > 0) { // 如果參數都沒變化,則使用緩存數據,避免請求沉積 let results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants; cb(results); } else { const qtype = 『參數』; this._that.$http('/inner', { qtype: qtype }) .then((res) => { restaurants = this.loadAll(res); this.restaurants = restaurants; let results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants; cb(results); }) .catch((err) => { restaurants = this.loadAll(); let results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants; cb(results); }); } }, createFilter(queryString) { return (restaurant) => { if (restaurant.str) return false; return (restaurant.value.indexOf(queryString) >= 0); }; }, loadAll(data) { let serier = []; if (data) { for (let i = 0, l = data.length; i < l; i++) { let a = data[i]; let b = ''; if (typeof a === "object") { b = a[1]; a = a[0]; } serier.push({ "value": a, "address": b }) } } else { // 如果沒有請求到數據,則顯示暫無數據! serier.push({ "str": '暫無數據' }) } return serier; }, handleIconClick(ev) { this.state = ""; } }, mounted() { this._that = this; }}