Browse Source

fix(types): support string type for style in VNode data (#9728)

fix #9727
dev
Vitor Luiz Cavalcanti 6 years ago
committed by Evan You
parent
commit
982d5a492f
  1. 2
      flow/vnode.js
  2. 25
      types/test/vue-test.ts
  3. 2
      types/vnode.d.ts

2
flow/vnode.js

@ -42,7 +42,7 @@ declare interface VNodeData {
staticClass?: string; staticClass?: string;
class?: any; class?: any;
staticStyle?: { [key: string]: any }; staticStyle?: { [key: string]: any };
style?: Array<Object> | Object; style?: string | Array<Object> | Object;
normalizedStyle?: Object; normalizedStyle?: Object;
props?: { [key: string]: any }; props?: { [key: string]: any };
attrs?: { [key: string]: string }; attrs?: { [key: string]: string };

25
types/test/vue-test.ts

@ -213,3 +213,28 @@ class Decorated extends Vue {
const obj = Vue.observable({ a: 1 }) const obj = Vue.observable({ a: 1 })
obj.a++ obj.a++
// VNodeData style tests.
const ComponentWithStyleInVNodeData = Vue.extend({
render (h) {
const elementWithStyleAsString = h('div', {
style: 'background-color: red;'
});
const elementWithStyleAsObject = h('div', {
style: { backgroundColor: 'green' }
});
const elementWithStyleAsArrayOfObjects = h('div', {
style: [
{ backgroundColor: 'blue' }
]
});
return h('div', undefined, [
elementWithStyleAsString,
elementWithStyleAsObject,
elementWithStyleAsArrayOfObjects
]);
}
});

2
types/vnode.d.ts

@ -48,7 +48,7 @@ export interface VNodeData {
staticClass?: string; staticClass?: string;
class?: any; class?: any;
staticStyle?: { [key: string]: any }; staticStyle?: { [key: string]: any };
style?: object[] | object; style?: string | object[] | object;
props?: { [key: string]: any }; props?: { [key: string]: any };
attrs?: { [key: string]: any }; attrs?: { [key: string]: any };
domProps?: { [key: string]: any }; domProps?: { [key: string]: any };

Loading…
Cancel
Save