在React中的地图中禁用选择选项

时间:2019-11-14 18:22:34

标签: reactjs

我正在创建一个站点,用户可以在其中创建事件并在创建事件时出售他们想要的多种票证类型(早鸟,一般门票等)。

我正在创建事件页面上。

每次用户创建新票证类型时,都会触发一个函数,该函数会将新对象推入状态为数组的

然后,我将通过此数组进行映射,以针对每种票证类型呈现以下代码。

{
  this.state.userEvent.tickets.map((e, i) => {
    return (
      <div key={i}>
        Ticket Number {i}:
        <label>
          Ticket Type:
          <input
            type="text"
            value={this.state.userEvent.tickets[i].ticketType}
            onChange={event => this.changeTicketDetails(event, "ticketType", i)}
            placeholder="Early Bird, General Admission..."
          />
        </label>
        <label>
          {`Price (${this.state.userEvent.currency})`}
          <input
            type="number"
            value={this.state.userEvent.tickets[i].price}
            onChange={event => this.changeTicketDetails(event, "price", i)}
            placeholder="10"
          />
        </label>
        <label>
          Number of Tickets
          <input
            type="number"
            value={this.state.userEvent.tickets[i].numberOfTickets}
            onChange={event =>
              this.changeTicketDetails(event, "numberOfTickets", i)
            }
            placeholder="100"
          />
        </label>
        <label>
          Start Selling:
          <select
            required
            value={this.state.userEvent.tickets[i].startSelling}
            onChange={event =>
              this.changeTicketDetails(event, "startSelling", i)
            }
          >
            <option value="now">Now</option>
            <option value="specific">Specific Date & Time</option>
            <option value="whenPreviousSoldOut" disabled={(i = 0)}>
              When Previous Tickets Are Sold Out
            </option>
          </select>
        </label>
        <button>Remove</button>
        <hr />
      </div>
    );
  });
}

最后一段代码发送以说明用户希望每张票开始销售的时间。我想禁用(或隐藏)“ '以前的门票售罄时'”选项。。我正在尝试通过使用地图中的i来标识第一张票证来使残疾人等于零来实现这一点。

以前的门票售罄时

这行不通,我不明白为什么。当我完全键入三进制

时,它也不起作用

{i=0 ? true: false}

由于某种原因,似乎无法识别选项中的i值。

知道我在做什么错吗?

1 个答案:

答案 0 :(得分:0)

=分配一个值,而=====则比较值。

您尝试过{i === 0 ? true : false}