Skip to content

Latest commit

 

History

History
60 lines (45 loc) · 2.82 KB

prefer-prop-type-boolean-first.md

File metadata and controls

60 lines (45 loc) · 2.82 KB
pageClass sidebarDepth title description
rule-details
0
vue/prefer-prop-type-boolean-first
enforce `Boolean` comes first in component prop types

vue/prefer-prop-type-boolean-first

enforce Boolean comes first in component prop types

  • This rule has not been released yet.
  • 💡 Some problems reported by this rule are manually fixable by editor suggestions.

📖 Rule Details

When declaring types of a property in component, we can use array style to accept multiple types.

When using components in template, we can use shorthand-style property if its value is true.

However, if a property allows Boolean or String and we use it with shorthand form in somewhere else, different types order can introduce different behaviors: If Boolean comes first, it will be true; if String comes first, it will be "" (empty string).

See this demo.

<script>
export default {
  props: {
    // ✓ GOOD
    a: Boolean,
    b: String,
    c: [Boolean, String],
    d: {
      type: [Boolean, String]
    },

    // ✗ BAD
    e: [String, Boolean],
    f: {
      type: [String, Boolean]
    }
  }
}
</script>

👫 Related Rules

🔍 Implementation