理由: ElementUI の select コンポーネントで、filterable 属性が追加されると、実際のレンダリングは次のようになります。
つまり、追加の読み取り専用属性が追加されると、IOS 上の入力の読み取り専用属性により、ソフト キーボードのポップアップが失敗します。
解決策: コンポーネントの読み取り専用属性を削除し、次の 3 つの属性を選択コンポーネントに追加します。
コード:
ref="select"
@hook:mounted="cancalReadOnly"
@visible-change="cancalReadOnly"
以下のような方法:
cancalReadOnly(value) {
this.$nextTick(() => {
if (!value) {
const { select } = this.$refs;
const input = select.$el.querySelector(".el-input__inner");
input.removeAttribute("readonly");
// this.$refs.select.blur(); 根据tip自行判断是否添加
}
});
},
このようにして、IOS でソフト キーボードを開くことができ、私の個人的なテストでは機能しました。