Как изменить значение TextInput, используя ссылку в React Native?

Чтобы получить доступ к этому атрибуту, вам нужно немного отразить:

var type = typeof(UserPromotion);
var member = type.GetMember(Model.JobSeeker.Promotion.ToString());
var attributes = member[0].GetCustomAttributes(typeof(DisplayAttribute), false);
var name = ((DisplayAttribute)attributes[0]).Name;

Я рекомендую обернуть этот метод в методе расширения или выполнить это в модели представления.

0
задан khateeb 16 January 2019 в 09:51
поделиться

2 ответа

Вы не можете изменить реквизит непосредственно внутри компонента - реквизит может быть получен только из родительского компонента, но не может быть изменен, поэтому вы не можете сделать: 118] Кроме того, вы ссылаетесь на this.props.emailRef в своей библиотеке, тогда как на клавиатуре отсутствует реквизит emailRef - у нее есть реквизит textInput.

Попробуйте это:

constructor(props) {
  super(props);
  this.emailRef = React.createRef();
  this.state = {
    value: "Initial Input"
  };
  this.handleInput = this.handleInput.bind(this);
}

handleInput(input) {
  this.setState({ value: input });
}

render() {
  return (
    ...
      <Keyboard textInput={this.emailRef} onInput={this.handleInput} />
      <TextInput ref={this.emailRef} value={this.state.value} />
    ...
  );
}

Внутри библиотеки:

<Button
  text="change value"
  onClick={() => {
    this.props.onInput(this.props.textInput.current.props.value + "q");
  }}
/>
0
ответ дан markmoxx 16 January 2019 в 09:51
поделиться

Я думаю, что вам нужен контролируемый вход. Вот как я это сделаю:

constructor(props) {
  super(props);
  this.emailRef = React.createRef(); // might not need this
  this.state = {
    value: ''
  }
}

<TextInput
  value={this.state.value}
  onChangeText={(text) => this.setState({text})}
  placeHolder="Email Address"
  blurOnSubmit={false}
/>

<Button
  text="change value"
  onPress={() => {
    // just use `this.state.value` to do whatever you need with it
  }}
/>

0
ответ дан tbuglc 16 January 2019 в 09:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: