美文网首页技术研发
飞冰组件formbinder获取图片地址绑定

飞冰组件formbinder获取图片地址绑定

作者: gzxwnt | 来源:发表于2018-12-20 20:30 被阅读0次

图片地址上传回显,需要表单提交,官方文档不推荐使用form表单,于是使用formbinder表单粘合剂。
图片地址上传这个问题困扰了我几天的时间,终于在领导帮助下,完成了这个过程。
首先导入依赖,引用方法:

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>

这里,之前我也认为这样也能将图片地址绑定上,但是我有多个步骤,且每个步骤下有三个基本图片。并且我的图片上传不是将图片直接存到数据库而是图片的地址。这里就需要后台创建图片地址并且将图片地址再次返回到前台一起存到数据库,这种情况下。需要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}
                                    />

具体实现看下一篇文章。
开始的时候,使用this.state.processData[currentStep].imgaddr并不能获取图片,这个问题困扰了很久时间,绕了很多弯路。最后,在总监查看官方文档解决了这个问题。
在formbinder组件里,有一个value表单值。通过初始的 value 进行设置图片的地址。所以无论如何也是取不到图片地址的。
在构造函数里初始化:

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}

到此,图片的地址就能取到了,然后通过自定义的组件就能将图片显示,然后统一存到数据库中。

2018/12/20
guanglu

相关文章

  • 飞冰组件formbinder获取图片地址绑定

    图片地址上传回显,需要表单提交,官方文档不推荐使用form表单,于是使用formbinder表单粘合剂。图片地址上...

  • Github访问失败问题处理

    1. 通过以下网站获取指定域名绑定的ip地址 获取域名绑定ip网址:https://www.ipaddress.c...

  • VUE中的动态绑定图片

    这种绑定图片的方式很简单。如果想要动态绑定一个图片呢? 很简单, 这样就行了,imgPath就是绑定的图片地址变量...

  • 100字写点东西_Vue_20180001

    最近做项目,写前端,用Vue。双向绑定,父组件向子组件传值,子组件prop,父组件从子组件获取值,$refs,子组...

  • iOS组件中使用storyboard、xib、图片等资源

    获取bundle的分类,其他分类依赖bundle分类 使用组件里图片的分类 从组件中获取xib中的view 从组件...

  • React 受控组件&非受控组件(4)

    受控组件是通过绑定事件的方式,及时获取组件状态的变化,适合即时的数据验证非受控组件是通过 React.create...

  • vue 组件之间的传值

    vue父组件给子组件传值 父组件给导入的子组件绑定一个数据:title是父组件的数据 2 子组件获取数据. pr...

  • 04_1_获取网络图片

    01_效果 通过网络图片的地址获取该图片 02_思路 ① 从网络上右键获取网络的地址http://...... =...

  • Vue中img动态绑定图片的地址

    在vue中绑定图片的地址需要用v-bind方式绑定 import routePath from "../route...

  • 图片组件-Image

    图片组件是显示图像的组件,它有多种构造函数: Image:从ImageProvider获取图片,就是加载项目资源目...

网友评论

    本文标题:飞冰组件formbinder获取图片地址绑定

    本文链接:https://www.haomeiwen.com/subject/vgyukqtx.html