最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

react vue背景掛載機(jī)器問(wèn)題

 更新時(shí)間:2024年03月12日 14:17:30   作者:卑微的雨落  
這篇文章主要介紹了react vue背景掛載機(jī)器問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

問(wèn)題

項(xiàng)目當(dāng)中我們有的時(shí)候會(huì)遇到多個(gè)背景圖片在一個(gè)地方展示的問(wèn)題

當(dāng)時(shí)項(xiàng)目比較急沒(méi)有時(shí)間做工具函數(shù),被團(tuán)隊(duì)優(yōu)化以后有,時(shí)間進(jìn)行工具函數(shù)編寫(xiě)

技術(shù)

插槽 , 和 css 背景 這個(gè)還不是最終的狀態(tài) 背景定位還有兩個(gè)屬性

這個(gè)是react 方式實(shí)現(xiàn)的  vue 也可以的 

子組件

 
// positioning:{left:{direction:"center"},right:{direction:"cneter"}
const BackgroundMounter = (props)=> {
       const BackgroundMounter = props.backGround
       let backGroundPost = ""
       let backGroundMessage = ""
       let backGroundSises = ""
      
       if(BackgroundMounter && BackgroundMounter.length > 0){
              BackgroundMounter.forEach((item,index) => {
                 if(index +1 !== BackgroundMounter.length  ){
                     backGroundMessage += `url(${item.URL})` + "no-repeat "  + ","
                     backGroundSises += item?.style?.width + " " + item.style.height + ","
                     backGroundPost +=  item.style.positioning.left.direction + " " +  item.style.positioning.right.direction + ","
                 }else {
                     backGroundMessage += `url(${item.URL})` + "no-repeat " 
                     backGroundSises += item?.style?.width + " " + item.style.height 
                     backGroundPost +=  item.style.positioning.left.direction + " " +  item.style.positioning.right.direction 
                 }
              });
       }  
      
       return(<div style={{background:backGroundMessage,backgroundPosition:backGroundPost,backgroundSize:backGroundSises}}>
              {props.children}
            
       </div>)
}
export default BackgroundMounter

父組件

backGround  注意點(diǎn)  塊級(jí)元素寬度寬度會(huì)隨著父組件的寬度進(jìn)行定義,所以要轉(zhuǎn)為 行內(nèi)元素阻止寬度繼承,但是一定不要把行內(nèi)元素轉(zhuǎn)化為塊級(jí)元素 w3c 規(guī)定

/* eslint-disable no-unused-expressions */
import React ,{ useEffect} from "react"
import {useState} from "react"
import { LockOutlined, UserOutlined } from '@ant-design/icons';
import { Button, Checkbox, Form, Input } from 'antd';
import logincss  from './index.module.css'
import  Store from "../../Redux/redux";
import { BrowserRouter, Route, Routes,Link,Outlet,useNavigate} from "react-router-dom"
import UseClass from "./className";
import BackgroundMounter from "./BackgroundMounter";
const Log =  () => {
    const  usenavigate =  useNavigate()
    const backGround = [
      {URL:"https://pic2.zhimg.com/v2-abee0fc1e685e6ecad60cd507a9cf6b5_b.jpg",style:{width:"100px",height:"100px",positioning:{left:{direction:"center"},right:{direction:"center"}}}
      },
      {URL:"https://pic2.zhimg.com/v2-abee0fc1e685e6ecad60cd507a9cf6b5_b.jpg",style:{width:"100px",height:"100px",positioning:{left:{direction:"center"},right:{direction:"bottom"}}}}
 
]
 
     //  userstate 功能進(jìn)行數(shù)據(jù)的綁定艦艇 兩個(gè)參數(shù) 第一個(gè)為數(shù)據(jù)第二個(gè)為函數(shù)形式的變化只有通過(guò)函數(shù)進(jìn)行改動(dòng)才能更新頁(yè)面的數(shù)據(jù)
     let    [[form],setform] =  useState(Form.useForm())   
     const linitform =  {
         password:'123456',
         username:'wangchangzhou'
     }
     const login = () => {
      console.log("deng錄")
      // eslint-disable-next-line react-hooks/rules-of-hooks
      usenavigate('/home',{state:{login:true}}) 
      Store.dispatch({type:'login',login:true})
     }
     const valueSet = ()=> {
      const time = null
      if(time){
               clearTimeout(()=> {
                
               })
      }
       
       setTimeout(()=> {
         console.log("KKKKKKK")
       })
     }
     const getValue = ()=> {
          
     }
     useEffect(()=> {
      //  console.log(useClass(logincss.login_bution,logincss.login_bution_BACK),"返回值")
     },[])
        const fundom = (value)=> {
         if(value ==="取消") {
          form.resetFields()
         }else {
          login()
          //   console.log(form.getFieldsValue());
          //  let value = form.getFieldsValue()
          //   console.log(linitform === value)
          //   // eslint-disable-next-line no-unused-expressions
          //      if(linitform.password == form.getFieldsValue().password && linitform.password == form.getFieldsValue().password ){
          //       login()
          //      }
            
         }
       }
       return(
       <>   
            {/* 背景掛載機(jī) */}
            <BackgroundMounter backGround={backGround} >
               <div style={{height:"400px",width:"400px"}}>測(cè)試</div>
            </BackgroundMounter>
          
          {/* <button className={UseClass(logincss.login_bution,logincss.login_bution_BACK)} onClick={getValue()}>1</button>
          <button onClick={getValue()}>2jn   kkkkkkkkk</button> */}
       </>)
//        return(
//         <div className={logincss.log_box}>
//                 <Form
//                 form={form}
//                 className={logincss.log_box_from}
//                 name="normal_login"
//                 initialValues={{
               
//       }}
     
//     >
//       <div>
//           <span style={{fontSize:'20px',textShadow:'4px 4px 4px'}}>低代碼測(cè)試</span>
//       <Form.Item
//       className={logincss.log_box_item}
//         name="username"
//         label ='名稱'
//         rules={[
//           {
//             required: true,
//             message: 'Please input your Username!',
//           },
//         ]}
//       >
//         <Input prefix={<UserOutlined className="site-form-item-icon" />} placeholder="請(qǐng)輸入用戶名" />
//       </Form.Item>
//       <Form.Item
//        className={logincss.log_box_item}
//         name="password"
//         label ='密碼'
//         rules={[
//           {
//             required: true,
//             message: '請(qǐng)輸入密碼',
//           },
//         ]}
//       >
//         <Input
//           prefix={<LockOutlined className="site-form-item-icon" />}
//           type="password"
//           placeholder="請(qǐng)輸入密碼"
//         />
//       </Form.Item>
//       {/* <Form.Item  className={logincss.log_box_item}>
//         <Form.Item name="remember" valuePropName="checked" noStyle>
//           <Checkbox>Remember me</Checkbox>
//         </Form.Item> */}
// {/* 
//         <a className="login-form-forgot" href="">
//            記住密碼
//         </a>
//       </Form.Item> */}
 
//       <Form.Item  className={logincss.log_box_item}>
//         <Button onClick={()=>{ return fundom('登陸') }} type="primary" htmlType="submit" className="login-form-button">
//           登錄
//         </Button>
//         <Button onClick={()=>{ return fundom('取消') }} style={{marginLeft: '20px'}} type="primary" htmlType="submit" className="login-form-button">
//           取消
//         </Button>
//       </Form.Item>
//       </div>
//     </Form>
//     <Outlet></Outlet>
//         </div>
//        )
}
export default Log

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • React注冊(cè)倒計(jì)時(shí)功能的實(shí)現(xiàn)

    React注冊(cè)倒計(jì)時(shí)功能的實(shí)現(xiàn)

    這篇文章主要介紹了React注冊(cè)倒計(jì)時(shí)功能的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • react中form.setFieldvalue數(shù)據(jù)回填時(shí) value和text不對(duì)應(yīng)的問(wèn)題及解決方法

    react中form.setFieldvalue數(shù)據(jù)回填時(shí) value和text不對(duì)應(yīng)的問(wèn)題及解決方法

    這篇文章主要介紹了react中form.setFieldvalue數(shù)據(jù)回填時(shí) value和text不對(duì)應(yīng)的問(wèn)題及解決方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • React?中的重新渲染類組件及函數(shù)組件

    React?中的重新渲染類組件及函數(shù)組件

    這篇文章主要為大家介紹了React?中的重新渲染類組件及函數(shù)組件使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 基于react組件之間的參數(shù)傳遞(詳解)

    基于react組件之間的參數(shù)傳遞(詳解)

    下面小編就為大家?guī)?lái)一篇基于react組件之間的參數(shù)傳遞(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • ReactNative實(shí)現(xiàn)弧形拖動(dòng)條的代碼案例

    ReactNative實(shí)現(xiàn)弧形拖動(dòng)條的代碼案例

    本文介紹了ReactNative實(shí)現(xiàn)弧形拖動(dòng)條,本組件使用到了react-native-svg和PanResponder,結(jié)合示例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-02-02
  • 使用React18和WebSocket構(gòu)建實(shí)時(shí)通信功能詳解

    使用React18和WebSocket構(gòu)建實(shí)時(shí)通信功能詳解

    WebSocket是一種在Web應(yīng)用中實(shí)現(xiàn)雙向通信的協(xié)議,它允許服務(wù)器主動(dòng)向客戶端推送數(shù)據(jù),而不需要客戶端發(fā)起請(qǐng)求,本文將探索如何在React?18應(yīng)用中使用WebSocket來(lái)實(shí)現(xiàn)實(shí)時(shí)通信,感興趣的可以了解下
    2024-01-01
  • React開(kāi)啟代理的2種實(shí)用方式

    React開(kāi)啟代理的2種實(shí)用方式

    最近有不少伙伴詢問(wèn)react的代理配置,自己也去試驗(yàn)了一下發(fā)現(xiàn)不少的問(wèn)題,在這就將所遇到的心得分享出來(lái),這篇文章主要給大家介紹了關(guān)于React開(kāi)啟代理的2種實(shí)用方式的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • 實(shí)現(xiàn)React單頁(yè)應(yīng)用的方法詳解

    實(shí)現(xiàn)React單頁(yè)應(yīng)用的方法詳解

    今天我們來(lái)學(xué)習(xí)React是如何構(gòu)建起一個(gè)單頁(yè)應(yīng)用的,React作為目前最流行的前端框架之一,其受歡迎程度不容小覷,從這門框架上我們可以學(xué)到許多其他前端框架所缺失的東西,也是其創(chuàng)新性所在的地方,比如虛擬DOM、JSX等。下面一起來(lái)看看。
    2016-08-08
  • react component changing uncontrolled input報(bào)錯(cuò)解決

    react component changing uncontrolled in

    這篇文章主要為大家介紹了react component changing uncontrolled input報(bào)錯(cuò)解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 一文帶你搞懂React的函數(shù)組件

    一文帶你搞懂React的函數(shù)組件

    React中函數(shù)式組件的基本意義是,組件實(shí)際上是一個(gè)函數(shù),不是類,下面就來(lái)給大家介紹一下關(guān)于React中函數(shù)組件的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06

最新評(píng)論

金塔县| 闵行区| 壶关县| 灌南县| 临海市| 天全县| 东丽区| 威信县| 韶关市| 阿合奇县| 阳江市| 仙游县| 恩平市| 咸丰县| 遵义市| 门头沟区| 宁陕县| 陆良县| 平山县| 平南县| 松原市| 牙克石市| 饶平县| 温宿县| 孝昌县| 申扎县| 镇巴县| 巴里| 彭山县| 眉山市| 吉隆县| 阿克陶县| 岱山县| 社旗县| 广汉市| 通许县| 江孜县| 犍为县| 德格县| 邳州市| 会东县|