【问题标题】:How to Change value of DisabledInput when ReferenceInput change当 ReferenceInput 改变时如何改变 DisabledInput 的值
【发布时间】:2017-06-12 15:05:32
【问题描述】:

我想在 ReferenceInput onChange 事件时为 DisabledInput 设置值。我

export const RegistersCreate=(props) => (
  <Create {...props}>
    <SimpleForm>
      <ReferenceInput source='member_id' reference='members' allowEmpty validate={required}>
        <SelectInput source='name'/>
      </ReferenceInput>
      <ReferenceInput source='package_id' reference='packages' allowEmpty validate={required}>
        <SelectInput source='name'/>
      </ReferenceInput>
      <ReferenceInput source='promotion_id' reference='promotions' allowEmpty>
        <SelectInput source='name'/>
      </ReferenceInput>
      <DateInput source='date_from' validate={required}/>
      <DateInput source='date_to' validate={required}/>
      <DisabledInput source='amount'/>
    </SimpleForm>
  </Create>
); // RegistersCreate

【问题讨论】:

  • 您能解释一下到目前为止您已经尝试过什么吗?考虑添加更多标签以引起您的问题的注意。

标签: admin-on-rest


【解决方案1】:

但上面的建议并不完美,我尝试使用 TextInputs(没有像你一样的 ReferenceInput)并编写了简单的类:

import React from 'react';
import { Field } from 'redux-form';
import { 
  TextInput,
  required,
} from 'admin-on-rest';

export class ValueField extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      val1: parseInt(this.props.record.money_amount, 10),
      val2: parseInt(this.props.record.credit_limit, 10),
    };
  }

  render(){
    return (
      <div>
        <Field name="money_amount" validate={required} component={TextInput} onChange={(e) => this.setState({ val1: parseInt(e.target.value, 10) }) }/>
        <Field name="credit_limit" component={TextInput} onChange={(e) => this.setState({ val2: parseInt(e.target.value, 10) }) } />
        <span>{this.state.val1 + this.state.val2}</span>
      </div>
    );
  };
}

export default ValueField;

并导入到resources.js

import ValueField from './ValueField';

...并将编辑视图添加为:

<ValueField />

在我的例子中,有 money_amountcredit_limit 字段。我需要计算这些字段的总和。

【讨论】:

  • 谢谢!你是怎么做到的,所以它在列表视图中有一个标签?
  • 也许是“标签”道具?您可以使用代码中的完整描述和示例打开新问题,有些人会尽力帮助您。
  • 谢谢!我想要做的是有一个计算字段..但由于这些信息不是来自数据库,它无法按它排序并且也有寻呼机 - 这就是我没有发布新问题的原因..跨度>
【解决方案2】:

aor 命令为依赖于指定字段的字段创建指定组件。希望它可以帮助你。请检查链接: https://github.com/marmelab/aor-dependent-input

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-29
    相关资源
    最近更新 更多