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

fix #9727
This commit is contained in:
Vitor Luiz Cavalcanti 2019-03-18 04:47:43 -03:00 committed by Evan You
parent 653c74e64e
commit 982d5a492f
3 changed files with 27 additions and 2 deletions

View File

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

View File

@ -213,3 +213,28 @@ class Decorated extends Vue {
const obj = Vue.observable({ a: 1 })
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 vendored
View File

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