Gutenberg динамический объект значений SelectControl - PullRequest
0 голосов
/ 11 декабря 2018

Я хочу динамически передать объект параметров в Gutenberg SelectControl:

el( SelectControl, {
    label: __( 'Animation' ),
    value: props.attributes.animation,
    onChange: ( value ) => { props.setAttributes( { animation: value } ); },
    options: [
      { value: 'date', label: __( 'One column' ) },
      { value: 'title', label: __( 'Two columns' ) },
    ],
  }
),

У меня есть функция PHP, которая возвращает объект доступных анимаций?

function animation( ) {
    $animations = array(
                        ''                  => 'none',
                        'fade'              => 'fade',
                        'fade-up'           => 'fade-up',
                        'fade-down'         => 'fade-down',
                        'zoom-out-up'       => 'zoom-out-up',
                        'zoom-out-down'     => 'zoom-out-down',
                        'zoom-out-left'     => 'zoom-out-left',
                        'zoom-out-right'    => 'zoom-out-right'
                );

    return apply_filters( '_animations', $animations );
}

1 Ответ

0 голосов
/ 14 декабря 2018

Я использовал wp_localize_script , чтобы получить массив как объект в JS:

$variables['animations'] = _functions::_animation();
wp_localize_script( $this->plugin_name, 'meetongo', $variables );

, и вы можете получить доступ к этому объекту следующим образом:

console.log( meetongo.animations );
...