Vue jsx обработчики событий - PullRequest
0 голосов
/ 21 ноября 2018

Есть ли какой-либо раздел документации, в котором разъясняется, почему я должен использовать верблюжий футляр для обработчика щелчков, но кебаб для ввода (и все остальное)?Но не для щелчка, для щелчка работает только onClick.

На самом деле я заметил, что для общего ввода обе опции работают нормально либо on-input, либо onInput.

const MyJSXInput = {
  props: {
    value: {
      type: Boolean,
      required: true
    },
    clickHandler: {
      type: Function,
      required: true
    },
    inputHandler: {
      type: Function,
      required: true
    },
  },
  // eslint-disable-next-line no-unused-vars
  render(createElement) {
    const { value, clickHandler, inputHandler } = this.$props
    return (
      <input onClick={clickHandler} on-input={inputHandler} type="checkbox" value={value} />
    )
  }
}

Не знаю, имеет ли это значение, но я использую этот компонент в качестве функции рендеринга для другого компонента.Вот так (все упрощенно):

    renderProp: () => (
      <MyJSXInput 
        value={someValue}
        click-handler={this.someHandlerClick}
        input-handler={this.someHandlerInput}
      />
    )

И этот последний компонент имеет такие вещи:

  render(h) {
    return (
      <div>
        {this.$props.renderProp(this)}
      </div>
    )
  }

1 Ответ

0 голосов
/ 21 ноября 2018

Здесь можно найти информацию:

https://github.com/vuejs/babel-plugin-transform-vue-jsx#difference-from-react-jsx

Однако я до сих пор не знаю, почему кебаб-кейс работает для входного события.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...