Я хочу, чтобы рамка вокруг изображения была выбрана. Поэтому, если у меня есть 6 фотографий и выберите 3, я хотел бы выделить границы вокруг этих изображений. Вопрос в том, как я могу это сделать? EDIT: Я использую React для этой дилеммы.РЕАКТ: Добавить выделенную рамку вокруг выбранного изображения
ответ
Это зависит от того, как вы хотите, чтобы отслеживать состояние вашего приложения .. here пример, который отслеживает состояние в родительском компоненте. По сути, у вас есть компонент родительского компонента, который отслеживает состояние для каждого изображения, а затем компонент изображения, который отображается либо с границей, либо без нее, в зависимости от части состояния приложения, которая передается в виде опоры. Обратитесь к коду, чтобы узнать, что я имею в виду. Альтернативой было бы включение активного состояния в каждый компонент изображения.
код имеет ряд интересных особенностей в основном за счетом привлечения несколько аспектов ES6 быть более краткими, а также React's immutability helper помочь обновить состояние массива в неизменном пути, и times метода lodash, чтобы помочь в создании нашего инициала массив состояний.
кодекс (часть отступа получил немного запутался в копии от jsfiddle ..):
function getImage() {
return { active: false };
}
class App extends React.Component {
constructor(props) {
super(props);
this.state = { images: _.times(6, getImage) };
this.clickImage = this.clickImage.bind(this);
}
clickImage(ix) {
const images = React.addons.update(this.state.images, {
[ix]: { $apply: x => ({ active: !x.active}) }
})
this.setState({ images });
}
render() {
const { images } = this.state;
return (
<div>
{ images.map((image, ix) =>
<Image
key={ix}
ix={ix}
active={image.active}
clickImage={this.clickImage} />) }
</div>
);
}
};
class Image extends React.Component {
render() {
const { ix, clickImage, active } = this.props;
const style = active ? { border: '1px solid #021a40' } : {};
return <img
style={style}
src={`https://robohash.org/${ix}`}
onClick={() => clickImage(ix)}/>;
}
}
ReactDOM.render(
<App />,
document.getElementById('container')
);
А потом, как это выглядит:
Просто добавьте обработчик событий для щелчка, который добавит «выбранный» класс, а затем установите для выбранного класса значение границы в css.
.selectableImg {
border: solid 1px transparent;
margin: 10px;
}
.selectableImg.selected {
border: solid 1px blue;
}
<img class="selectableImg" src="https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"/>
<img class="selectableImg" src="https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"/>
<img class="selectableImg" src="https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"/>
<img class="selectableImg" src="https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"/>
<script>
var images = document.querySelectorAll(".selectableImg");
images.forEach(function(i) {i.addEventListener("click", function(event) {
i.classList.toggle("selected");
})});
</script>
- 1. Добавить рамку вокруг изображения часть карусели
- 2. CSS Собираем рамку вокруг изображения
- 3. Добавить рамку к элементу ListView (только вокруг изображения)
- 4. Android: манипулировать изображением и добавить белую рамку вокруг изображения
- 5. Использование изображения вызывает странную белую рамку вокруг
- 6. Как поместить рамку вокруг изображения в WPF?
- 7. Android: Нарисуйте рамку вокруг любого размера изображения
- 8. Создайте рамку вокруг изображения при активном/щелкнутом
- 9. Как добавить рамку вокруг виджета в Blogger
- 10. Как добавить вторую рамку вокруг CSS круг
- 11. рисовать линии вокруг выбранного изображения в ListView
- 12. Нарисуйте рамку вокруг полигона
- 13. Удалить белую рамку вокруг ImageView
- 14. Нарисуйте рамку вокруг холста getImageData
- 15. Отображение границы вокруг выбранного элемента в ListBox
- 16. Photoshop - как добавить белую рамку вокруг моей цели изображение
- 17. Создайте рамку вокруг изображения, когда наводили курсор на JQuery
- 18. Создать рамку для изображения
- 19. Как добавить штрих вокруг изображения?
- 20. Добавить ссылку вокруг каждого изображения
- 21. построить CSS рамку вокруг содержимого
- 22. добавив рамку вокруг текста UIButton
- 23. Как разместить рамку вокруг Изображение
- 24. Нарисуйте рамку вокруг содержания UIImageView
- 25. Нарисуйте рамку вокруг GroupBox C#
- 26. Нарисуйте рамку вокруг achartengine диаграммы
- 27. Как добавить границу изображения вокруг изображения?
- 28. Как добавить вставить рамку-тень для изображения?
- 29. Как добавить рамку изображения в UIImage?
- 30. Как добавить изображения в рамку в winforms?
Я предполагаю, что вы хотели ответьте на ответ из-за тега 'reactjs', который вы включили. – John