飛冰組件formbinder獲取圖片地址綁定

圖片地址上傳回顯,需要表單提交,官方文檔不推薦使用form表單,于是使用formbinder表單粘合劑。
圖片地址上傳這個問題困擾了我?guī)滋斓臅r間,終于在領(lǐng)導幫助下,完成了這個過程。
首先導入依賴,引用方法:

npm install @icedesign/form-binder -S
引用方法
import FormBinder from '@icedesign/form-binder';

對于普通字段的綁定方式:

<FormBinder name="processoperator" required message="必填項">
                                    <Input
                                        name="processoperator"
                                        size="large"
                                        style={{ width: '100%' }}
                                    />
                                </FormBinder>

這里,之前我也認為這樣也能將圖片地址綁定上,但是我有多個步驟,且每個步驟下有三個基本圖片。并且我的圖片上傳不是將圖片直接存到數(shù)據(jù)庫而是圖片的地址。這里就需要后臺創(chuàng)建圖片地址并且將圖片地址再次返回到前臺一起存到數(shù)據(jù)庫,這種情況下。需要get一個方法獲得圖片地址。

 getImg = (imgname, imgurl) => {
        console.log("-----------Edit product++++++getImg dataUrl:imgname:" + imgname + "; imgurl:" + imgurl);
        if(imgname=="cardaddr" ){

            this.setState({
                cardaddr:imgurl,
                formChange:true,
            });
        }

自定義組件獲得編輯顯示圖片

 <CropUploadImage
                                        imgname = "imgaddr"
                                        btnvalue = {"圖片"}
                                        imgaddr={this.state.value.imgaddr}
                                        getImg={this.getImg}
                                    />

具體實現(xiàn)看下一篇文章。
開始的時候,使用this.state.processData[currentStep].imgaddr并不能獲取圖片,這個問題困擾了很久時間,繞了很多彎路。最后,在總監(jiān)查看官方文檔解決了這個問題。
在formbinder組件里,有一個value表單值。通過初始的 value 進行設(shè)置圖片的地址。所以無論如何也是取不到圖片地址的。
在構(gòu)造函數(shù)里初始化:

constructor(props) {
        super(props);
        this.state = {
            currentStep: 0,
            processingdata:[],
            formValue: {
                processname: '',
                processoperator: '',
                processdate: '',
            },
            formChange:false,
            value: {
                imgaddr: '',
                tableaddr:'',
                cardaddr:''
            },
        };
    }

因為這里我是多個步驟,且每個步驟下多個圖片。每個步驟也就是一個對象。

 value={this.state.processingdata[currentStep]}

取到這個對象后,就能取到對象里面的各個值了。

imgaddr={this.state.value.imgaddr}
imgaddr={this.state.value.tableaddr}
imgaddr={this.state.value.cardaddr}

到此,圖片的地址就能取到了,然后通過自定義的組件就能將圖片顯示,然后統(tǒng)一存到數(shù)據(jù)庫中。

2018/12/20
guanglu

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,828評論 4 61
  • 什么才是愛?我在探索的路上尋找答案。 在爸媽的感情里,老媽全心全意的付出,老爸只是欣然享受這種被愛的過程,我從來沒...
    靜心聽風閱讀 597評論 1 0
  • 我們的一生總有些東西不能割舍,總有些東西不能丟掉
    蛇予閱讀 180評論 0 1
  • 為了加入簡書,取了個帥氣的名字,才配的上這個App。
    哇昵稱帥氣閱讀 158評論 0 0
  • 有一種物質(zhì),叫一氧化二氫,它是一種危險的化學物品。它的危險包括: 1、又叫做“氫氧基酸”,是酸雨的主要成分;...
    氕氘氚666閱讀 391評論 0 1

友情鏈接更多精彩內(nèi)容