transfer.d.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import { CreateElement, VNode } from 'vue'
  2. import { ElementUIComponent } from './component'
  3. export interface TransferData {
  4. key: any,
  5. label: string,
  6. disabled: boolean
  7. }
  8. export interface TransferFormat {
  9. noChecked: string,
  10. hasChecked: string,
  11. }
  12. export interface TransferProps {
  13. key: string,
  14. label: string,
  15. disabled: string
  16. }
  17. export interface TransferRenderContent {
  18. /**
  19. * Render function for a specific option
  20. *
  21. * @param h The render function
  22. * @param option The option data object
  23. */
  24. (h: CreateElement, option: TransferData): VNode
  25. }
  26. /** Transfer Component */
  27. export declare class ElTransfer extends ElementUIComponent {
  28. /** Data source */
  29. data: TransferData[]
  30. /** Whether Transfer is filterable */
  31. filterable: boolean
  32. /** Placeholder for the filter input */
  33. filterPlaceholder: string
  34. /** Custom filter method */
  35. filterMethod: (query: string, item: TransferData) => boolean
  36. /** Custom list titles */
  37. titles: string[]
  38. /** Custom button texts */
  39. buttonTexts: string[]
  40. /** Custom render function for data items */
  41. renderContent: TransferRenderContent
  42. /** Texts for checking status in list header */
  43. format: TransferFormat
  44. /** Prop aliases for data source */
  45. props: TransferProps
  46. /** Key array of initially checked data items of the left list */
  47. leftDefaultChecked: any[]
  48. /** Key array of initially checked data items of the right list */
  49. rightDefaultChecked: any[]
  50. }