Событие Office React Fabric объявлено, но никогда не использовалось. Ошибка демонстрационного кода - PullRequest
0 голосов
/ 08 мая 2019

При использовании примера кода Microsoft для пользовательского интерфейса React Office Fabric я получаю сообщение об ошибке.

TS6133: 'event' is declared but its value is never read.

Код: https://developer.microsoft.com/en-us/fabric#/controls/web/dropdown

Код Pen: (без ошибок) https://codepen.io/pen/?&editable=true

import * as React from 'react';
import { Dropdown, DropdownMenuItemType, IDropdownOption } from 'office-ui-fabric-react/lib/Dropdown';

export interface IDropdownControlledMultiExampleState {
  selectedItems: string[];
}

export class DropdownControlledMultiExample extends React.Component<{}, IDropdownControlledMultiExampleState> {
  public state: IDropdownControlledMultiExampleState = {
    selectedItems: []
  };

  public render() {
    const { selectedItems } = this.state;

    return (
      <Dropdown
        placeholder="Select options"
        label="Multi-select controlled example"
        selectedKeys={selectedItems}
        onChange={this._onChange}
        multiSelect
        options={[
          { key: 'fruitsHeader', text: 'Fruits', itemType: DropdownMenuItemType.Header },
          { key: 'apple', text: 'Apple' },
          { key: 'banana', text: 'Banana' },
          { key: 'orange', text: 'Orange', disabled: true },
          { key: 'grape', text: 'Grape' },
          { key: 'divider_1', text: '-', itemType: DropdownMenuItemType.Divider },
          { key: 'vegetablesHeader', text: 'Vegetables', itemType: DropdownMenuItemType.Header },
          { key: 'broccoli', text: 'Broccoli' },
          { key: 'carrot', text: 'Carrot' },
          { key: 'lettuce', text: 'Lettuce' }
        ]}
        styles={{ dropdown: { width: 300 } }}
      />
    );
  }

  private _onChange = (event: React.FormEvent<HTMLDivElement>, item: IDropdownOption): void => {
    const newSelectedItems = [...this.state.selectedItems];
    if (item.selected) {
      // add the option if it's checked
      newSelectedItems.push(item.key as string);
    } else {
      // remove the option if it's unchecked
      const currIndex = newSelectedItems.indexOf(item.key as string);
      if (currIndex > -1) {
        newSelectedItems.splice(currIndex, 1);
      }
    }
    this.setState({
      selectedItems: newSelectedItems
    });
  };
}

Мое использование ничем не отличается, просто реализовано за пределами codepen.Я нашел то же самое со всем примером кода.Что еще нужно использовать, чтобы использовать событие?

1 Ответ

0 голосов
/ 09 мая 2019

Вы не должны заставлять себя использовать это. Примером может служить случай, когда обработчик _onChange используется и для множества других форм, и может возникнуть необходимость изучить объект события, чтобы увидеть, откуда он исходит и т. Д.

См. Здесь: Игнорировать TS6133: «(импорт) объявлен, но никогда не используется»?

Вам необходимо отключить опцию noUnusedLocals в вашем tsconfig.json, чтобы ошибка исчезла.

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