2016-02-23 2 views
8

Есть ли способ добавить эффект пульсации к материалу-ui Компонент карты при щелчке.Как добавить эффект пульсации при щелчке карты в материале-ui

http://www.material-ui.com/#/components/card

И я также хотел бы знать, можно ли сделать мультипликационный эффект прийти на верхней части содержания компонента карты, а что он показывает в качестве фона.

+1

с материализовать-CSS, вы можете добавить в «волну» эффект, казалось бы, любой элемент (http://materializecss.com/ waves.html #!). Я не проверял это, но смотрю вверх по вашей аллее. – lux

ответ

1

Я вижу этот вопрос не ответил, поэтому я приведу последнюю дату решения (писать это как material-ui является v 0,18. +0,7 (стабильный):

вы должны импортировать пульсация комп более высокого порядка (HOC), как:.

import TouchRipple from 'material-ui/internal/TouchRipple';

Затем вы можете обернуть любой compomnen т вас выбор с ToucheRipple, как:

<TouchRipple> 
    <div> 
    MY RIPPLING DIV 
    </div> 
</TouchRipple> 

Или, если вам нужен apporach класс, основанный на CSS, вы можете использовать материализовать Lib ->https://react-materialize.github.io/#/

В этом случае, это так просто, как добавление значение waves опоры на материал-щ Button, как:

<Button waves='light'>EDIT ME<Icon left>save</Icon></Button>

0

Официальный api, похоже, не поддерживает его. Но это то, что я делаю, когда я хочу использовать material-ui пульсации влияют:

Использование material-ui/internal/TouchRipple, взгляните на его примере source code

Использование:

<YourComponent> 
    <TouchRipple style={style}/> 
    {children} 
</YourComponent> 

Вам нужно пройти инлайн чтобы указать его высоту, ширину и положение, которое соответствует высоте, ширине и положению YourComponent

+0

Я пытался сделать эту работу в течение последних 2 часов или около того, но не работает, очевидно, что распространение onTouchTap не достигает компонента подкласса TouchRipple, я пытался вручную передать событие, но это, похоже, не работает либо ... любые предложения? – ospfranco

+0

Просто fyi, я прочитал исходный код, и именно так я знал, что мне пришлось вручную передать onTouchTap даже для handleOnMouseDown, но он все еще не работает – ospfranco

+0

@das_franco 'TouchRipple' не имеет' onTouchTap' или 'handleOnMouseDown '. [См. Здесь] (https://github.com/callemall/material-ui/blob/5d5128d251816bfccec0cb305a48ec553c399c4e/src/internal/TouchRipple.js#L11-L18) – xiaofan2406

1

Подход, сделанный в @ xiaofan2406, никогда не работал для меня, o упоминание о прохождении высоты, ширины и положения кажется легко разрушаемым и может оказаться невозможным при использовании flexbox.

Однако мне удалось заставить его работать как:

<YourComponent> 
    <TouchRipple> 
     {children} 
    </TouchRipple> 
</YourComponent> 
+1

Кажется, что он не работает, я добавил 'TouchRipple 'и использовать его вокруг моего компонента, но рябь создается в верхнем левом углу страницы, что явно не относится к указанному поведению. –

+0

Элементы внутри абсолютно позиционируются?с учетом материала-ui вычисляет много свойств во время выполнения, поэтому вы должны взглянуть на фактическое представление детей, в любом случае это сработало для меня и взглянув на исходный код компонентов material-ui, это как он используется – ospfranco

+0

Я не уверен в абсолютно позиционированных позициях, однако я использую рябь вот так: ' ...' и он не работает. –

Смежные вопросы