UNPKG

ant-design-vue

Version:

An enterprise-class UI design language and Vue-based implementation

46 lines (44 loc) 1.61 kB
import _toConsumableArray from 'babel-runtime/helpers/toConsumableArray'; import _extends from 'babel-runtime/helpers/extends'; import { getOptionProps } from './props-util'; export default { directives: { ref: { bind: function bind(el, binding, vnode) { binding.value(vnode.componentInstance ? vnode.componentInstance : vnode.elm); }, update: function update(el, binding, vnode) { binding.value(vnode.componentInstance ? vnode.componentInstance : vnode.elm); }, unbind: function unbind(el, binding, vnode) { binding.value(null); } } }, methods: { setState: function setState(state, callback) { var newState = typeof state === 'function' ? state(this.$data) : state; if (this.getDerivedStateFromProps) { _extends(newState, this.getDerivedStateFromProps(getOptionProps(this), this.$data, true) || {}); } _extends(this.$data, newState); this.$nextTick(function () { callback && callback(); }); }, __emit: function __emit() { // 直接调用listeners,底层组件不需要vueTool记录events var args = [].slice.call(arguments, 0); var filterEvent = []; var eventName = args[0]; if (args.length && this.$listeners[eventName]) { if (filterEvent.includes(eventName)) { this.$emit.apply(this, [eventName].concat(_toConsumableArray(args.slice(1)))); } else { var _$listeners; (_$listeners = this.$listeners)[eventName].apply(_$listeners, _toConsumableArray(args.slice(1))); } } } } };