@@ -322,8 +322,11 @@ define([
322322 suggestInput . setComponentID ( obj . name ) ;
323323 suggestInput . addClass ( 'vp-input vp-state' ) ;
324324 suggestInput . setSuggestList ( function ( ) { return obj . options ; } ) ;
325- suggestInput . setNormalFilter ( true ) ;
325+ suggestInput . setNormalFilter ( obj . useFilter == undefined ? false : obj . useFilter ) ;
326326 suggestInput . setValue ( value ) ;
327+ if ( obj . placeholder != undefined ) {
328+ suggestInput . setPlaceholder ( obj . placeholder ) ;
329+ }
327330 suggestInput . setSelectEvent ( function ( selectedValue ) {
328331 // trigger change
329332 $ ( pageThis . wrapSelector ( '#' + obj . name ) ) . val ( selectedValue ) ;
@@ -454,6 +457,9 @@ define([
454457 suggestInput . setSuggestList ( function ( ) { return varList ; } ) ;
455458 suggestInput . setNormalFilter ( false ) ;
456459 suggestInput . setValue ( defaultValue ) ;
460+ if ( obj . placeholder != undefined ) {
461+ suggestInput . setPlaceholder ( obj . placeholder ) ;
462+ }
457463 suggestInput . setSelectEvent ( function ( selectedValue ) {
458464 // trigger change
459465 $ ( divTag + ' #' + obj . name ) . val ( selectedValue ) ;
@@ -529,7 +535,13 @@ define([
529535 */
530536 var vp_getTagValue = function ( pageThis , obj ) {
531537 var value = '' ;
532- switch ( obj . component ) {
538+ let componentType = 'input' ;
539+ if ( obj . component && obj . component . length == 1 ) {
540+ componentType = obj . component [ 0 ] ;
541+ } else {
542+ componentType = $ ( pageThis . wrapSelector ( '#' + obj . name + '_type' ) ) . val ( ) ;
543+ }
544+ switch ( componentType ) {
533545 case 'option_radio' :
534546 var input = $ ( pageThis . wrapSelector ( "input[name='" + obj . name + "']:checked" ) ) . val ( ) ;
535547 // same as default
@@ -545,7 +557,6 @@ define([
545557 value = value . substr ( 0 , value . length - 1 ) ;
546558 break ;
547559 case 'input_multi' :
548- case 'option_suggest' :
549560 case 'bool_select' :
550561 case 'var_select' :
551562 case 'var_multi' :
@@ -556,6 +567,7 @@ define([
556567 case 'table' :
557568 case 'file' :
558569 case 'option_select' :
570+ case 'option_suggest' :
559571 case 'input_number' :
560572 default :
561573 var input = $ ( pageThis . wrapSelector ( '#' + obj . name ) ) . val ( ) ;
@@ -582,6 +594,9 @@ define([
582594 if ( val == undefined || val == '' ) {
583595 val = vp_getTagValue ( pageThis , v ) ;
584596 }
597+ if ( val == v . default ) {
598+ val = '' ;
599+ }
585600 var id = '${' + v . name + '}' ;
586601 if ( val == undefined || val . trim ( ) == '' ) {
587602 if ( v . required == true ) {
0 commit comments