首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在FormPanel 6.6.0中从ExtReact获取值

在FormPanel 6.6.0中从ExtReact获取值
EN

Stack Overflow用户
提问于 2018-10-24 21:52:03
回答 1查看 211关注 0票数 1

我应该如何使用ext-react 6.6.0从FormPanel中获取值?

根据API文档,我应该使用getValues函数,它在6.5.1中工作,但在6.6.0中得到错误_this.form.getValues is not a function

工作于6.5.1:https://fiddle.sencha.com/?extreact#view/editor&fiddle/2n05

在6.6.0中失败(请参阅控制台中的错误):https://fiddle.sencha.com/?extreact#view/editor&fiddle/2n04

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-25 05:53:57

我得到错误_this.form.getValues不是6.6.0中的一个函数

ref={form => this.form = form}的原因。在extreact-6.6.0中,表单变量不是精确的formpanel。所以为了这个你需要像这样访问

代码语言:javascript
复制
ref={form => this.form = (this.form || form.cmp)}}

另一种方法是使用Button.up(“模板”)获取formpanel组件。此按钮是handler的第一个参数。

代码语言:javascript
复制
button.up('formpanel').getValues()

您可以在这里使用工作的小提琴进行检查。

代码片段

代码语言:javascript
复制
import React, { Component } from 'react';
import {launch} from '@sencha/ext-react';
import { ExtReact } from '@sencha/ext-react';
import { Container, Label, FormPanel, TextField, Button } from '@sencha/ext-modern';

class App extends Component {

    state = {
        values:JSON.stringify({
            fname: 'null',
            lname: 'null'
        })
    }

    submit = (btn) => {
        const values = btn.up('formpanel').getValues();

        console.log('Values using up selector',values);

        console.log('Values using up ref',this.form.getValues());

        this.setState({values:JSON.stringify(this.form.getValues())});
    }

    render() {
        return (
            <Container defaults={{ margin: 10, shadow: true }}>
                <FormPanel title="Form" ref={form => this.form = (this.form || form.cmp)}>
                    <TextField name="fname" label="First Name"/>
                    <TextField name="lname" label="Last Name"/>
                    <Button handler={this.submit} text="Submit"/>
                </FormPanel>

                <Label padding={'10'} html={this.state.values} />
            </Container>
        )
    }
}

launch(<ExtReact><App /></ExtReact>);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52978404

复制
相关文章

相似问题

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