Meituan-Dianping/mpvue · error

transition property "${key}" is declared in enter starting c

Error message

transition property "${key}" is declared in enter starting class (.${startClass}), but not declared anywhere in enter ending class (.${endClass}), enter active cass (.${activeClass}) or the element's default styling. Note in Weex, CSS properties need explicit values to be transitionable.

What it means

Error "transition property "${key}" is declared in enter starting class (.${startClass}), but not declared anywhere in enter ending class (.${endClass}), enter active cass (.${activeClass}) or the element's default styling. Note in Weex, CSS properties need explicit values to be transitionable." thrown in Meituan-Dianping/mpvue.

Source

Thrown at src/platforms/weex/runtime/modules/transition.js:243

}

// determine the target animation style for an entering transition.
function getEnterTargetState (el, stylesheet, startClass, endClass, activeClass, vm) {
  const targetState = {}
  const startState = stylesheet[startClass]
  const endState = stylesheet[endClass]
  const activeState = stylesheet[activeClass]
  // 1. fallback to element's default styling
  if (startState) {
    for (const key in startState) {
      targetState[key] = el.style[key]
      if (
        process.env.NODE_ENV !== 'production' &&
        targetState[key] == null &&
        (!activeState || activeState[key] == null) &&
        (!endState || endState[key] == null)
      ) {
        warn(
          `transition property "${key}" is declared in enter starting class (.${startClass}), ` +
          `but not declared anywhere in enter ending class (.${endClass}), ` +
          `enter active cass (.${activeClass}) or the element's default styling. ` +
          `Note in Weex, CSS properties need explicit values to be transitionable.`
        )
      }
    }
  }
  // 2. if state is mixed in active state, extract them while excluding
  //    transition properties
  if (activeState) {
    for (const key in activeState) {
      if (key.indexOf('transition') !== 0) {
        targetState[key] = activeState[key]
      }
    }
  }
  // 3. explicit endState has highest priority

View on GitHub (pinned to 6c5d78ee04)

Solutions

  1. Declare the transitioning property with an explicit value in the enter ending class (.endClass), the enter active class (.activeClass), or the element's default styling
  2. In Weex CSS every transitionable property needs a concrete start and end value — implicit/undefined values cannot be animated
  3. Double-check the property name spelling in the stylesheet classes so the start class key exists in the target classes too
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/platforms/weex/runtime/modules/transition.js:243 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of Meituan-Dianping/mpvue@6c5d78ee04 (2026-09-02). Data as JSON: /api/errors/c8336d75ad4d6981. Report an issue: GitHub.