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

react antd表格中渲染一張或多張圖片的實例

 更新時間:2020年10月28日 11:32:57   作者:豆芽不吃豆  
這篇文章主要介紹了react antd表格中渲染一張或多張圖片的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

使用antd table中顯示一張圖片,代碼如下:

const columns = [ {
 title: "姓名",
 dataIndex: "name",
 width: 100 , // table列定寬 可不設
  fixed: "left" // 固定列的位置
 },
 {
 title: "聯(lián)系電話",
 width: 150,
 dataIndex: "phone"
 },
 {
 title:"顯示一張圖片",
 width:150,
 dataIndex:"img",
 render:(text)=> <img src={text}/>
 },
 {
 title:"顯示多張圖片",
 width:400,
 dataIndex:"imgs",
 render: text => {
 // text是后端傳的多個url,需要逗號分隔再顯示圖片
  if (text) {
  return (
   <div style={{ display: "flex" }}>
   {text.split(",").map((items, index) => {
    return (
    <div
     key={index}
     className="common-img-list"
     style={{
     width: "100px",
     height: "100px",
     marginLeft: "4px",
     overflow: "hidden"
     }}
    >
     <img
     style={{ width: "100%" }}
     src={items}
     onClick={() => {
      InitImageViwer(); // 點擊放大圖片
     }}
     />
    </div>
    );
   })}
   </div>
  );
  }
 },
]

// 點擊放大圖片預覽
function InitImageViwer(
 box = 'common-img-list', // 注意class不要忘記了
 option = {},
 callBack
) {
 setTimeout(() => {
 const viewList = []
 const el = document.querySelectorAll(`.${box}`)
 if (el.length) {
  el.forEach((z, x) => {
  viewList[x] = new ImageViewer(z, option)
  })
  callBack && callBack(viewList)
 }
 }, 1000)
}

// table 使用 scroll 表格滾動
<Table columns={columns} scroll={{ x: 1500, y: 500 }} /> 

實現(xiàn)效果圖:

點擊圖片放大預覽效果:

補充知識:React中antd框架下upload多個圖片簡單上傳

antd的上傳組件也是挺好康的,預覽、刪除也特別方便。適合表單上傳。

查詢資料多個上傳處理 不明確,我就在下面name為file的input隱藏域內(nèi)儲存多個圖片上傳

這行代碼是限制多個圖片上傳的總數(shù),這里目前是不能超過6張圖片,到達六張圖片后,點擊上傳的按鈕將會消失。

{this.props.tAccessory >= 6 ? null : uploadButton}

點擊眼睛會彈出modl框擴大顯示圖片。

全文代碼如下,稍加修改即可使用。

import React from 'react';
import { Form, Input,Upload,Icon,Modal} from 'antd';
import { connect } from 'dva';
const FormItem = Form.Item;
const { TextArea } = Input;
function getBase64(file) {
 return new Promise((resolve, reject) => {
 const reader = new FileReader();
 reader.readAsDataURL(file);
 reader.onload = () => resolve(reader.result);
 reader.onerror = error => reject(error);
 });
}
class AddMa extends React.Component {
 state = {
 value: '',
 previewVisible: false,
 previewImage: '',
 fileList:[],
 };
 onChange = ({ target: { value } }) => {
 this.setState({ value });
 };
//場地圖片
 handleCancel = () => this.setState({ previewVisible: false });
 handlePreview = async file => {
 if (!file.url && !file.preview) {
  file.preview = await getBase64(file.originFileObj);
 }
 this.setState({
  previewImage: file.url || file.preview,
  previewVisible: true,
 });
 console.log(file);
 };
 handleChange = ({ fileList }) => this.setState({ fileList:fileList });
 beforeUpload=(file)=>{
  this.setState(({
  fileList: [this.state.fileList, file],
  }));
 return false;
 }
 render() {
 const { previewVisible, previewImage, fileList,value} = this.state;
 const uploadButton = (
  <div>
  <Icon type="plus" />
  <div className="ant-upload-text">Upload</div>
  </div>
 );
 const { getFieldDecorator } = this.props.form;
 const formItemLayout = {
  labelCol: { span: 8 },
  wrapperCol: { span: 10 },
 };
 const props={fileList};
 return (
  <div>
  <Form>
   <FormItem{...formItemLayout} label="現(xiàn)場圖片">
   {getFieldDecorator('fileList',{initialValue:this.props.tAccessory,valuePropName: 'file'})
   (
    <div >
    <Upload name="file" {...props}
      listType="picture-card"
      onPreview={this.handlePreview}
      onChange={this.handleChange}
      fileList={fileList}
      accept=".jpg,.png,.gif,.jpeg"
      beforeUpload={this.beforeUpload}
    >
     {this.props.tAccessory >= 6 ? null : uploadButton}
    </Upload>
    <Modal visible={previewVisible} footer={null} onCancel={this.handleCancel}>
     <img alt="example" style={{ width: '100%' }} src={previewImage} />
    </Modal>
    </div>
   )}</FormItem>
   
  //這里是多個上傳獲取到的PhotoList 
   <FormItem{...formItemLayout} >
   {getFieldDecorator('file',{initialValue:this.props.tAccessory,valuePropName: 'file'})
   (
    <input type="hidden" name="img" multiple="multiple" />
   )}</FormItem>
  </Form>
  </div>
 );
 }
}

function mapStateToProps(state) {
 const {csIntro,arPicture,tCsInfo,modelResult,tAccessory} = state.cusy;
 return {csIntro,arPicture,tCsInfo,modelResult,tAccessory};
}

export default connect(mapStateToProps)(Form.create()(AddMa));

以上這篇react antd表格中渲染一張或多張圖片的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • React中使用Axios發(fā)起POST請求提交文件方式

    React中使用Axios發(fā)起POST請求提交文件方式

    這篇文章主要介紹了React中使用Axios發(fā)起POST請求提交文件方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • React倒計時功能實現(xiàn)代碼——解耦通用

    React倒計時功能實現(xiàn)代碼——解耦通用

    這篇文章主要介紹了React倒計時功能實現(xiàn)——解耦通用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • 手把手教您實現(xiàn)react異步加載高階組件

    手把手教您實現(xiàn)react異步加載高階組件

    這篇文章主要介紹了手把手教您實現(xiàn)react異步加載高階組件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • 在React中this容易遇到的問題詳解

    在React中this容易遇到的問題詳解

    這篇文章主要介紹了在React中this容易遇到的問題總結,文中有詳細的示例代碼,希望對大家有一定的幫助,需要的朋友可以參考下
    2023-05-05
  • React??memo允許你的組件在?props?沒有改變的情況下跳過重新渲染的問題記錄

    React??memo允許你的組件在?props?沒有改變的情況下跳過重新渲染的問題記錄

    使用?memo?將組件包裝起來,以獲得該組件的一個?記憶化?版本,只要該組件的?props?沒有改變,這個記憶化版本就不會在其父組件重新渲染時重新渲染,這篇文章主要介紹了React??memo允許你的組件在?props?沒有改變的情況下跳過重新渲染,需要的朋友可以參考下
    2024-06-06
  • react如何向數(shù)組中追加值

    react如何向數(shù)組中追加值

    這篇文章主要介紹了react如何向數(shù)組中追加值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • React 組件中的 bind(this)示例代碼

    React 組件中的 bind(this)示例代碼

    這篇文章主要介紹了 React 組件中的 bind(this) ,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • react實現(xiàn)動態(tài)表單

    react實現(xiàn)動態(tài)表單

    這篇文章主要為大家詳細介紹了react實現(xiàn)動態(tài)表單,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • react組件中獲取DOM元素的五種方式

    react組件中獲取DOM元素的五種方式

    本文主要介紹了React組件中獲取DOM元素的五種方式:包括使用ref屬性、構造器創(chuàng)建全局變量、動態(tài)綁定ref屬性、綁定函數(shù)定義全局變量和使用hook語法查找DOM,感興趣的可以了解一下
    2025-01-01
  • react-router中<Link/>的屬性詳解

    react-router中<Link/>的屬性詳解

    這篇文章主要給大家介紹了關于react-router中<Link/>屬性的相關資料,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-06-06

最新評論

日土县| 法库县| 抚松县| 峡江县| 辽阳市| 平昌县| 濉溪县| 西城区| 海丰县| 和硕县| 正定县| 惠州市| 山阳县| 中西区| 扎鲁特旗| 象州县| 台湾省| 五常市| 建宁县| 延边| 屯门区| 仁怀市| 沐川县| 南召县| 资溪县| 兴仁县| 德庆县| 靖边县| 南岸区| 始兴县| 潍坊市| 临高县| 巴彦县| 习水县| 财经| 雷波县| 光泽县| 高雄县| 蓝山县| 湾仔区| 沁源县|