amazeui-touch icon indicating copy to clipboard operation
amazeui-touch copied to clipboard

iOS 8 组件 type为select时 onChange事件未触发

Open h657070128 opened this issue 8 years ago • 1 comments

iOS 8 <Field> 组件 type为select时 onChange事件未触发

先贴代码:

<List.Item nested='input'>
  <Field
    type="select"
    defaultValue={this.state.educationalLevel}
    label={
      <span>教育程度
      {
        this.props.activity['educationalLevel'] === 1 ?
          <span style={{ color: 'red' }}>*</span> : '' 
      }
      </span>
    }
    ref="educationalLevel"
    onChange={ this.handleEducationalLevelChange }
  >
    <option value="">请选择</option>
    <option value="1">小学</option>
    <option value="2">初中</option>
    <option value="3">高中</option>
    <option value="4">大学</option>
    <option value="5">硕士</option>
    <option value="6">博士</option>
  </Field>
</List.Item>

当在iOS8上选择选项的时候,handleEducationalLevelChange方法未被调用。

我试了下如下原生写法:

<select onChange={ this.handleEducationalLevelChange }>
  <option value="">请选择</option>
  <option value="1">小学</option>
  <option value="2">初中</option>
  <option value="3">高中</option>
  <option value="4">大学</option>
  <option value="5">硕士</option>
  <option value="6">博士</option>
</select>

这种方法可以成功调用handleEducationalLevelChange方法

产生环境

  • 设备及型号: iPhone 5s
  • 操作系统及版本: 8.4.1
  • 浏览器及版本: 微信内置浏览器(微信版本6.3.31)与Safari(Safari版本是跟着iOS版本走的)
  • 演示地址:
  • 问题截图/录屏:

复现步奏

  1. 使用如上代码,在iOS版本为8的真机上测试
  2. 更改select的选项 期望结果:触发onChange事件 实际结果:未触发onChange事件

h657070128 avatar Dec 06 '16 07:12 h657070128

我先找找 iOS 8 的手机哈。

lwxyfer avatar Dec 14 '16 14:12 lwxyfer