首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带样式组件的动态背景图像

带样式组件的动态背景图像
EN

Stack Overflow用户
提问于 2021-06-09 08:54:39
回答 1查看 502关注 0票数 1

我一直在努力做这件事,我有一个名为“天气”的道具,它的价值可以是毛毛雨,云彩或任何其他类型的文字。

我在顶部导入了图像(目前只有两个),我已经尝试了

代码语言:javascript
复制
background-image: url(${weather => (weather === 'Drizzle) ? Drizzle : Cloudy})

但它不起作用,它将始终与Cloudy (假),我可能需要一个嵌套的ifs或三元操作符,但目前我想让它至少两个工作。

例如,我获得道具的代码--非结构化weather = 'Drizzle'将成为支柱)

代码语言:javascript
复制
import React from "react";
import styled from "styled-components";

import Drizzle from "../img/Drizzle.jpg";
import Cloudy from "../img/Cloudy.jpg";

const CardItems = styled.div`
  background-image: url(${Drizzle});


export default function Card({ max, min, name, img, onClose, weather }) {
  let icon = `http://openweathermap.org/img/wn/${img}@2x.png`;

  return (
    <CardItems>
      <TitleTwo>{name}</TitleTwo>
      <Image src={icon} alt="" />
      <TempsContainer>
        <TempText>
          <p>Min.</p>
          <p>{min}</p>
        </TempText>
        <TempText>
          <p>Max.</p>
          <p>{max}</p>
        </TempText>
      </TempsContainer>
    </CardItems>
  );
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-09 22:34:03

取代:

代码语言:javascript
复制
`background-image: url(${weather => (weather === 'Drizzle) ? Drizzle : Cloudy})`

通过:

代码语言:javascript
复制
`background-image: ${(props) => props.current === 'Drizzle' ? `url(${Drizzle})` : `url(${Cloudy})`};`

App.js

代码语言:javascript
复制
import React from 'react';
import './App.css';

import Card from './Card';

export default function App() {
  return <Card weather="Drizzle" />;
}

Card.js

代码语言:javascript
复制
import React from 'react';
import styled from 'styled-components';

import Drizzle from './img/Drizzle.jpg';
import Cloudy from './img/Cloudy.jpg';

export default function Card({ weather }) {   
  return (
   <CardItems current={weather} />
  );
}

const CardItems = styled.div`
  height: 100vh;
  width: 100%;
  background-image: ${(props) =>
    props.current === 'Drizzle' ? `url(${Drizzle})` : `url(${Cloudy})`};
`;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67900771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档