iosで入力ラベルが表示されない
開発ツールやAndroidでは正常に入力ラベルを表示できますが、iosでは入力ラベルが表示されないことが判明しました。
解決策: 入力に幅を追加します。
Douyin アプレットの入力ボックスには幅がなく、手動で設定する必要があるためと思われます。
<!-- 在ios不显示 -->
<input type="text" placeholder="请输入..." />
<!-- 调整后 - 设置宽度,就可以显示 -->
<input type="text" placeholder="请输入..." style="width: 100px" />
input タグは ios でデフォルト値を与えることができません
ページが初期化された後、ローカル キャッシュからデータが取得され、input タグにバインドされます.ios では、値が取得されているにもかかわらず、ページにレンダリングされていないことがあります。
解決策: $nextTick を使用して、データをフェッチする前にレンダリングを遅らせます。
/** 这样可能导致input值给不上 */
onLoad() {
this.value = uni.getStorageSync("value");
}
/** 调整后 */
onLoad() {
this.$nextTick(() => {
this.value = uni.getStorageSync("value");
});
}
アップロード画像をアップロードできません
画像をアップロードし、uni.chooseImage で画像を選択すると、ローカルの一時パスは次のようになります:
ttfile://temp/ab790db96c9b65cb54685c7d99c4d847.jpeg
このパスを直接使用して uni.uploadFile インターフェイスを介してアップロードすると、アップロードが失敗します.
解決策: uni.compressImage インターフェイスを使用して画像を圧縮し、取得したパスを使用してアップロードします:
ttfile://temp/tempCompressImg1642681468739 .jpg
2回取得したローカルパスを比較すると、ファイル名の中間部分が異なっており、micro-xアプレットにはこの問題はありません。
Web ビューを使用して PDF ファイルを表示すると、Android で表示されない
このページは web-view を使用して pdf ファイルを表示します, これは ios および開発ツールでは問題ありませんが、Android フォンでページが正常に開かれると常に空白になります. 解決策は、最初に uni.downloadFile でファイルをダウンロードすることです.次に、 uni.openDocument を介してドキュメントを開きますが、実際の Android デバイスで開いたときに PDF ファイル名しか表示されないため、クリックして wps などの他のサードパーティ アプリケーションで開く必要があります。
サブコンポーネント転送イベントの $emit のイベント名に「-」を追加することはできません
子コンポーネントが親コンポーネントのようにイベントを渡すと、イベント名にダッシュ「-」が追加され、コンパイル後にイベントが無効になります。
このようなもの:
this.$emit('on-pick', info), this.$emit('on-pick', info) に変更すると便利です
サブコンポーネント内の複数のスロットのコンパイルは無効です
自己カプセル化されたコンポーネントにはコンパイルできないスロットが複数あり、uview の多くのコンポーネントにも問題があります
es6 から es5 をチェックすると、lodash で使用される関数がエラーを報告します
通常はes6からes5への変換を確認しますが、ページ内でlodashライブラリ内の手ぶれ補正機能debounceとthrottleを使っている場合は直接エラーが報告されますが、変換されていなければ問題ありません。
Android アプレットの空白をクリックして入力ボックスのキーボードを閉じると、ページで 2 つのクリック イベントがトリガーされます。
uviewの入力ボックスとステッパーを使っているページがあります. まず入力ボックスをクリックしてフォーカスを合わせるとキーボードが飛び出します. この時ステッパーの + か - をクリックするだけで直接足したり引いたりします. 2. 解決策:
変数を設定してステッパーを無効にするには、入力ボックスのフォーカス イベントで disabled=true を設定し、バール イベントでタイマーを使用して disabled=false を設定します。これにより、ユーザーは最初に空白をクリックして閉じる必要があります。ステップデバイスをクリックする前のキーボード
uni.getEnv メソッドのバイト アプレットはサポートしていません
アプレットでは、web-view は uni.navigateTo などのインターフェイスを直接使用して、アプレットにジャンプしたり、アプレットと通信したりできます. Web ページで対応するプラットフォームが提供する通信 sdk ファイルをインポートするだけで済みます.環境情報を取得するための uni.getEnv メソッドとして。セクション アプレットではサポートされていません。
ユニアプリ パッケージングの最適化
uni-app パッケージングは通常、環境変数に従ってインターフェイス ドメイン名を自動的に設定しますが、uni は運用モードでコードを圧縮するだけです. 開発およびテスト環境も実機でプレビューする必要がある場合があります. コードが圧縮されていない場合は、パッケージがサイズ制限を超えていることを示すプロンプトが表示されることがあります (通常、メイン パッケージは 2M に制限されています)
。次のコマンドとして: "
build:mp-toutiao-dev" : "cross-env VUE_APP_ENV=development NODE_ENV=production UNI_PLATFORM=mp-toutiao vue-cli-service uni-build --minimize --watch"
1