zhangxiaoxu123
2023-07-06 d8ce22d6c645699ce0b3783860dec1baf0e6d8f5
1
2
3
4
5
6
7
8
9
10
11
12
13
class Mixin {
  constructor ({component, props, events, extraProps, exceptProps}) {
    this.render = function (h) {
      return h(component, {
        props: props.reduce((obj, key) => Object.assign(obj, {[key]: this[key]}), {}),
        on: events.reduce((obj, key) => Object.assign(obj, {[key]: this.transmitEvent}), {})
      })
    }
    this.props = [...extraProps, ...props.filter(prop => exceptProps.indexOf(prop))]
  }
}
 
export default prop => new Mixin(prop)