wip(ssr): handle <textarea> with dynamic key v-bind
This commit is contained in:
@@ -50,7 +50,8 @@ export const enum NodeTypes {
|
||||
// ssr codegen
|
||||
JS_BLOCK_STATEMENT,
|
||||
JS_TEMPLATE_LITERAL,
|
||||
JS_IF_STATEMENT
|
||||
JS_IF_STATEMENT,
|
||||
JS_ASSIGNMENT_EXPRESSION
|
||||
}
|
||||
|
||||
export const enum ElementTypes {
|
||||
@@ -102,8 +103,9 @@ export interface RootNode extends Node {
|
||||
hoists: JSChildNode[]
|
||||
imports: ImportItem[]
|
||||
cached: number
|
||||
codegenNode?: TemplateChildNode | JSChildNode | BlockStatement | undefined
|
||||
temps: number
|
||||
ssrHelpers?: symbol[]
|
||||
codegenNode?: TemplateChildNode | JSChildNode | BlockStatement | undefined
|
||||
}
|
||||
|
||||
export type ElementNode =
|
||||
@@ -255,6 +257,7 @@ export type JSChildNode =
|
||||
| ConditionalExpression
|
||||
| SequenceExpression
|
||||
| CacheExpression
|
||||
| AssignmentExpression
|
||||
|
||||
export interface CallExpression extends Node {
|
||||
type: NodeTypes.JS_CALL_EXPRESSION
|
||||
@@ -335,6 +338,12 @@ export interface IfStatement extends Node {
|
||||
alternate: IfStatement | BlockStatement | undefined
|
||||
}
|
||||
|
||||
export interface AssignmentExpression extends Node {
|
||||
type: NodeTypes.JS_ASSIGNMENT_EXPRESSION
|
||||
left: SimpleExpressionNode
|
||||
right: JSChildNode
|
||||
}
|
||||
|
||||
// Codegen Node Types ----------------------------------------------------------
|
||||
|
||||
// createVNode(...)
|
||||
@@ -709,3 +718,15 @@ export function createIfStatement(
|
||||
loc: locStub
|
||||
}
|
||||
}
|
||||
|
||||
export function createAssignmentExpression(
|
||||
left: AssignmentExpression['left'],
|
||||
right: AssignmentExpression['right']
|
||||
): AssignmentExpression {
|
||||
return {
|
||||
type: NodeTypes.JS_ASSIGNMENT_EXPRESSION,
|
||||
left,
|
||||
right,
|
||||
loc: locStub
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user