¶Ô±ÈÐÂÎļþ |
| | |
| | | # Vue 3 ç»ä»¶ææ¡£ |
| | | |
| | | ## InformationTable ç»ä»¶ |
| | | |
| | | ### æè¿° |
| | | |
| | | `InformationTable` ç»ä»¶æ¯ä¸ä¸ªåºäº Vue 3 çè¡¨æ ¼ç»ä»¶ï¼ç¨äºå±ç¤ºå
·æåç§åè½çè¡¨æ ¼æ°æ®ï¼ä¾å¦æåºãå页åå³é®ä¸ä¸æèåã该ç»ä»¶å©ç¨äº VXE-Table åºæä¾è¡¨æ ¼åè½ã |
| | | |
| | | ### Props |
| | | |
| | | - **dataSource** (`Array<Object>`): è¡¨æ ¼çæ°æ®æºã |
| | | - **columns** (`Array<Object>`): è¡¨æ ¼åçé
ç½®ã |
| | | - **pageSize** (`Number`): æ¯é¡µæ¾ç¤ºç项æ°ã |
| | | - **total** (`Number`): è®°å½çæ»æ°ã |
| | | - **isHidePagination** (`Boolean`): æ¯å¦éèå页æ§ä»¶ã |
| | | - **isChecked** (`Boolean`): æ¯å¦æ¾ç¤ºå¤éå¤éæ¡ã |
| | | - **isSort** (`Boolean`): æ¯å¦å¯ç¨æåºã |
| | | - **id** (`String`): ç¨äºå¯ä¸æ è¯æ¯ä¸è¡çé®å段ã |
| | | - **showDarg** (`Boolean`/`String`): å·²å¼ç¨ãç¨äºæ¾ç¤º/éèææ½åè½ã |
| | | - **isDrag** (`Boolean`/`String`): æ¯å¦å¯ç¨ææ½åè½ã |
| | | - **autoHeight** (`Boolean`): æ¯å¦èªå¨è°æ´è¡¨æ ¼é«åº¦ã |
| | | - **isVScroll** (`Boolean`): æ¯å¦å¯ç¨èææ»å¨ã |
| | | - **border** (`String`/`Any`): è¡¨æ ¼çè¾¹æ¡æ ·å¼ã |
| | | - **url** (`String`): ç¨äºè·åæ°æ®ç API 端ç¹ã |
| | | - **isFooter** (`Boolean`): æ¯å¦æ¾ç¤ºå¸¦ææ·»å æé®ç页èã |
| | | - **contextMenu** (`Array`): å³é®ä¸ä¸æèåçé
ç½®ã |
| | | - **rowConfig** (`Any`): è¡¨æ ¼è¡çéå é
ç½®ã |
| | | - **size** (`String`): è¡¨æ ¼ç大å°ï¼'small'ã'mini' æé»è®¤ï¼ã |
| | | |
| | | ### Events |
| | | |
| | | - **check(records: `Array`)**: å½éæ©å¤éæ¡æ¶è§¦åã |
| | | - **sort(...args: `Any`)**: å½æåºæ´æ¹æ¶è§¦åã |
| | | - **page(currentPage: `Number`)**: å½å½åé¡µæ´æ¹æ¶è§¦åã |
| | | - **rowClick(row: `Object`)**: å½ç¹å»è¡æ¶è§¦åã |
| | | - **update:dataSource(data: `Array`)**: 彿°æ®æºæ´æ°æ¶è§¦åã |
| | | - **clickFooter()**: å½ç¹å»é¡µèæ·»å æé®æ¶è§¦åã |
| | | |
| | | ### Methods |
| | | |
| | | - **setSelectRow(keys: `Array`, checked: `Boolean`)**: æ ¹æ®é®è®¾ç½®éå®çè¡ã |
| | | - **setRow(row: `Object`)**: 设置å½åè¡ã |
| | | - **clearSelectEvent()**: æ¸
餿æéå®çè¡ã |
| | | |
| | | ### ä½¿ç¨ |
| | | |
| | | ```vue |
| | | <template> |
| | | <InformationTable |
| | | :dataSource="yourDataSource" |
| | | :columns="yourColumns" |
| | | :pageSize="10" |
| | | :total="yourTotalRecords" |
| | | :isChecked="true" |
| | | :isSort="true" |
| | | :id="'id'" |
| | | :isDrag="true" |
| | | :autoHeight="true" |
| | | :isVScroll="true" |
| | | :border="'1px solid #e3e6ed'" |
| | | :url="'your/api/endpoint'" |
| | | :isFooter="true" |
| | | :contextMenu="yourContextMenuConfig" |
| | | :rowConfig="yourRowConfig" |
| | | :size="'small'" |
| | | @check="handleCheck" |
| | | @sort="handleSort" |
| | | @page="handlePage" |
| | | @rowClick="handleRowClick" |
| | | @update:dataSource="handleUpdateDataSource" |
| | | @clickFooter="handleClickFooter" |
| | | /> |
| | | </template> |
| | | |
| | | <script> |
| | | import InformationTable from 'path/to/InformationTable.vue' |
| | | |
| | | export default { |
| | | components: { |
| | | InformationTable, |
| | | }, |
| | | } |
| | | </script> |
| | | ``` |
| | | |
| | | ### 注æäºé¡¹ |
| | | |
| | | - è¿æ¯ä¸ä¸ªåºæ¬çæ¦è¿°ææ¡£ãæ ¹æ®ä½ çå
·ä½è¦æ±è¿è¡å®å¶åæ©å±ã |
| | | - ç¡®ä¿ VXE-Table åºå·²æ£ç¡®å®è£
åé
ç½®å¨ä½ ç项ç®ä¸ã |
| | | - æ ¹æ®è®¾è®¡å好å¯è½éè¦é¢å¤çæ ·å¼è®¾ç½®ã |