pull/165/head
tangjinzhou 2018-03-01 19:09:45 +08:00
parent 025af67deb
commit c558e66aa1
3 changed files with 21 additions and 6 deletions

View File

@ -1,3 +1,17 @@
const parseStyleText = (cssText = '') => {
const res = {}
const listDelimiter = /;(?![^(]*\))/g
const propertyDelimiter = /:(.+)/
cssText.split(listDelimiter).forEach(function (item) {
if (item) {
const tmp = item.split(propertyDelimiter)
tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim())
}
})
return res
}
const hasProp = (instance, prop) => { const hasProp = (instance, prop) => {
const $options = instance.$options || {} const $options = instance.$options || {}
const propsData = $options.propsData || {} const propsData = $options.propsData || {}
@ -106,7 +120,7 @@ export function getStyle (ele) {
} else if (ele.$vnode && ele.$vnode.data) { } else if (ele.$vnode && ele.$vnode.data) {
data = ele.$vnode.data data = ele.$vnode.data
} }
return data.style || data.staticStyle return data.style || parseStyleText(data.staticStyle || '')
} }
export function getComponentName (opts) { export function getComponentName (opts) {

View File

@ -7,6 +7,7 @@ import placements from './placements'
import { loopMenuItemRecusively, noop } from './util' import { loopMenuItemRecusively, noop } from './util'
import BaseMixin from '../_util/BaseMixin' import BaseMixin from '../_util/BaseMixin'
import { getComponentFromProp } from '../_util/props-util' import { getComponentFromProp } from '../_util/props-util'
import { requestAnimationTimeout, cancelAnimationTimeout } from '../_util/requestAnimationTimeout'
let guid = 0 let guid = 0
@ -73,10 +74,10 @@ export default {
// this.clearSubMenuTimers() // this.clearSubMenuTimers()
// } // }
if (this.minWidthTimeout) { if (this.minWidthTimeout) {
clearTimeout(this.minWidthTimeout) cancelAnimationTimeout(this.minWidthTimeout)
} }
if (this.mouseenterTimeout) { if (this.mouseenterTimeout) {
clearTimeout(this.mouseenterTimeout) cancelAnimationTimeout(this.mouseenterTimeout)
} }
}, },
methods: { methods: {
@ -86,7 +87,7 @@ export default {
return return
} }
const self = this const self = this
this.minWidthTimeout = setTimeout(() => { this.minWidthTimeout = requestAnimationTimeout(() => {
if (!self.$refs.subMenuTitle || !self.$refs.menuInstance) { if (!self.$refs.subMenuTitle || !self.$refs.menuInstance) {
return return
} }
@ -282,7 +283,7 @@ export default {
} }
if (type === 'mouseenter') { if (type === 'mouseenter') {
// make sure mouseenter happen after other menu item's mouseleave // make sure mouseenter happen after other menu item's mouseleave
this.mouseenterTimeout = setTimeout(() => { this.mouseenterTimeout = requestAnimationTimeout(() => {
openChange() openChange()
}, 0) }, 0)
} else { } else {

View File

@ -18,7 +18,7 @@ message | done
Select | done Select | done
Input | done Input | done
InputNumber InputNumber
AutoComplete AutoComplete | done
Modal Modal
Alert Alert
Calendar Calendar