vuejs / rfcs

RFCs for substantial changes / feature additions to Vue core
4.85k stars 551 forks source link

Vue Class Composition-API #310

Open pikax opened 3 years ago

pikax commented 3 years ago

Summary

Allow to support Generic Components and allowing types to be inferred in the template

class Comp<T extends Record<string, any>> extends VueComponent<
  { items: T; keyPath: keyof T; cols: Array<keyof T> },

  // emits
  {
    select(item: T): void;
    "update:modelValue"(item: T): void;
    cellClicked(col: keyof T, item: T);
  },

  // slots https://github.com/vuejs/rfcs/pull/192
  {
    [K: `head:${keyof T & string}`]: { a: number };
    [Y: `item:${keyof T & string}`]: { b: string };
  }
>

Links


Important: Do NOT comment on this PR. Please use the discussion thread linked above to provide feedback, as it provides branched discussions that are easier to follow. This also makes the edit history of the PR clearer.