react的表頭可配置化

2021-08-21 02:50:24 字數 2814 閱讀 3663

實現效果:

table上面增加乙個按鈕,按鈕觸發乙個model頁面,裡面是checkbox元件,提供表頭欄位的選擇。

選中那個字段,table呈現那個字段。

/*從systemtablecolumn表中獲取表的每一字段的資訊*/

const listcolsbytable = () => axios.get(config.host + '/systemtablecolumn/listcolsbytable',

}).then(function (response) ).catch(function (error) );

class carbrand extends react.component ,

searchform: null,

searchparam: {},

data: ,

checkboxs:, /* 表頭編輯框裡面展示的資料 */

columnvisible :false, /* 表頭編輯框是否可見 */

columns:,/* table的乙個props */

colobjs:,/* table的每個欄位的詳細資訊,從資料庫裡面獲取到的 */

cols:/* table展示的col的english的名字的陣列 */

};componentdidmount()

start = (currenpage, searchparam) => ;

if (currenpage)

this.setstate();

listplan(pager, searchparam).then(res =>

if (!res || !res.pager)

const pagination = {};

pagination.total = res.pager.totalcount;

pagination.current = res.pager.pagenumber;

this.setstate();

res && res.data && this.setstate();

});/*配置的資訊儲存在 this.state.colobjs */

listcolsbytable().then(res=>

/*最初始的cols*/

let cols=res.data.map((obj)=>obj.column)

res && res.data && this.setstate();

this.colchange(cols)

})};

refsearchform = (form) => ;

handlesearch = (e) => );

const pagination = {};

listplan(pagination, values).then(res => ;

pagination.total = res.pager.totalcount;

pagination.current = res.pager.pagenumber;

this.setstate();

res && res.data && this.setstate();

});});

};handletablechange = (pagination, filters, sorter) => ;

/*checkbox的配置介面的生成*/

setparam=()=>

})return ()})

this.setstate();

}/*隱藏表頭編輯框*/

hidemodal = () => );

}/*針對每次傳入的cols生成新的columns*/

colchange=(cols)=>

})if(type==='datetime')})

}if(!type))}

return null

})if(columns.length===0)

this.setstate();

}render()

>

篩選,}

}onchange=

/>);}

}export default carbrand;

可配置字段型別el table表頭自適應的兩種方案

專案場景 可以選擇展示哪些label的可配置字段型別el table 由於要求做中英雙版,因此表頭自適應這個功能尤為重要 有些英文label實在太長了 已經把專案頁面塗了馬賽克,不知道還會不會被舉報,新人寫部落格這方面不是很懂 霧 理想情況 滿足所有欄位的表頭寬度都能自適應,且如果選擇顯示的字段太少...

面板可配置化 變數 樣式分離

之前 開發了乙個版本,抽是抽出來了,但是變數只抽出了幾個顏色,沒什麼價值 上個版本開發過程 這次我又進行了一次迭代,現在是乙個較成熟的版本了。整體理一下思路,可以總結為3步走和2層架構 是樣式的子集,想要做 的管理,首先要把涉及到的樣式都抽取出來,這裡只涉及到了 登入頁 考勤頁 頂部選單 3個部分。...

切面定義可配置化及重複註解

專案在這兩個方面進行了 1.切面自定義 一般地,切面都是這樣定義的,由於 pointcut無法通過 注入,所以這個類很難框架化,都需要在業務方法中寫,比較麻煩,下面記錄一種可以配置此值的方式。aspect component pointcut execution public top.jfunc.v...