レンダリング
説明
vue.js
に基づいており、他のプラグインやライブラリに依存せず、基本的なものです。機能は維持されています。 element-ui と一貫して、モバイルの違いに合わせていくつかの内部実装調整が行われています。
現在の構築プラットフォームは uni-app 公式スキャフォールディングを使用して構築されています。現在のモバイル端末のほとんどは h6
と WeChat アプレット
であるため、1 つのコード セットが必要です複数の端末で動作できるため、技術的な選択に非常に適しています。
実装アイデア
Core api: <form></form>
および <form-item> に対応する、provide と inject を使用します。 ###。 </form-item>
- $on
- 、
$off
、
$ がvue3
のエミットから削除されたため、したがって、
uni.$on、
uni.$off、および
uni.$emitが代わりに使用されます。違いは、このイベントがディスパッチ メカニズムであることです。はグローバルであり、コンポーネントの一意性に従いません。そのため、イベントを追加または削除するときは、イベント名に一意の値を設定する必要があります。ここでは、
- UI デザイン ドラフト
- 変更に非常に役立ちます。フォーム検証
フォーム検証データ オプションは、はスロット内のどの要素にも影響を与えないため、他のスタイルのライブラリの使用には影響しません。 4 - フィールドのみを保持します (以下を参照)。フォーム コンポーネントの検証状態が削除されるため、
trigger
このイベント設定は不要になりました;
patternは
regに置き換えられます。WeChat アプレットでは、コンポーネントによって渡されたパラメータはフィルタリングされ、基本はそのまま残されることに注意してください。
json型なので、この
regをミニ プログラム環境で使用する場合は、最後に
.toString()を追加する必要があります (
validator##)。 #も同じ理由です。<pre class='brush:php;toolbar:false;'>/** 表单规则类型 */ export interface TheFormRulesItem { /** 是否必填项 */ required?: boolean /** 提示字段 */ message?: string /** 指定类型 */ type?: "number" | "array" /** * 自定义的校验规则(正则) * - 考虑到微信一些特殊的抽风机制,在微信小程序中,除`number|string|object|undefined|null`这几个基础类型外,其他类型是会被过滤掉,所以这里在写正则的时候,在末尾加上`.toString()`即可 */ reg?: string // | RegExp } /** 表单规则类型 */ export type TheFormRules = { [key: string]: Array<TheFormRulesItem> };</pre>
これまでに、クリック検証後に長いフォーム検証に遭遇したことがあるかどうかはわかりませんが、ページが長すぎるため、どのフォーム項目が分からない 検証が失敗した場合は、対応する項目を参照して見つける必要があります; 以前のフォーム検証のエクスペリエンスを最適化するために、検証後に対応する位置までスクロールする操作がここに追加されます。モバイル端末のユーザーエクスペリエンスと一致します。
-
フォーム検証のトリガー メカニズム:
element-ui のトリガー メカニズムは、 - trigger## を指定してトリガー時間を選択することであることは誰もが知っています。 #、その後、これを削除した後は、トリガーするそのような操作が存在しないことを意味し、私が選択したのは、
validate
、
validateField検証メソッドを積極的に呼び出して実際のトリガーをトリガーすることでした。検証に失敗した場合は変数に格納し、データが変更されるたびに検証し、検証が成功したらリアルタイム検証項目を削除することで、
element- と比較します。 uiバインディング イベント、リアルタイム検証により、多くのコードの呼び出しと実行メカニズムが節約され、コードがより洗練され、合理化されます。
非uni-app平台的移植
除了更换标签之外,几乎不用做任何的修改就可以复制粘贴到其他项目中去,唯一要修改的就是自定义事件uni.$on
、uni.$off
和uni.$emit
;这里可以自己实现,又或者用其他库去代替,js
实现自定义事件派发代码如下:
function moduleEvent() { /** * 事件集合对象 * @type {{[key: string]: Array<Function>}} */ const eventInfo = {}; return { /** * 添加事件 * @param {string} name 事件名 * @param {Function} fn 事件执行的函数 */ on(name, fn) { if (!eventInfo.hasOwnProperty(name)) { eventInfo[name] = []; } if (!eventInfo[name].some(item => item === fn)) { eventInfo[name].push(fn); } }, /** * 解绑事件 * @param {string} name 事件名 * @param {Function} fn 事件绑定的函数 */ off(name, fn) { const fns = eventInfo[name]; if (fns && fns.length > 0 && fn) { for (let i = 0; i < fns.length; i++) { const item = fns[i]; if (item === fn) { fns.splice(i, 1); break; } } } else { console.log("[moduleEvent] => 没有要解绑的事件"); } }, /** * 调用事件 * @param {string} name 事件名 * @param {any} params 事件携带参数 */ dispatch(name, params) { const fns = eventInfo[name]; if (fns && fns.length > 0) { for (let i = 0; i < fns.length; i++) { const fn = fns[i]; fn(params); } } else { console.log("[moduleEvent] => 没有要执行的事件"); } }, } }
调用moduleEvent()
之后,用变量调用即可,注意当前变量要作为内存常驻使用。
以上がvue3 で H5 フォーム検証コンポーネントを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

前端有没有现成的库,可以直接用来绘制 Flowable 流程图的?下面本篇文章就跟小伙伴们介绍一下这两个可以绘制 Flowable 流程图的前端库。

vue不是前端css框架,而是前端JavaScript框架。Vue是一套用于构建用户界面的渐进式JS框架,是基于MVVM设计模式的前端框架,且专注于View层。Vue.js的优点:1、体积小;2、基于虚拟DOM,有更高的运行效率;3、双向数据绑定,让开发者不用再去操作DOM对象,把更多的精力投入到业务逻辑上;4、生态丰富、学习成本低。

Vue3如何更好地使用qrcodejs生成二维码并添加文字描述?下面本篇文章给大家介绍一下Vue3+qrcodejs生成二维码并添加文字描述,希望对大家有所帮助。

本篇文章我们来了解 Vue2.X 响应式原理,然后我们来实现一个 vue 响应式原理(写的内容简单)实现步骤和注释写的很清晰,大家有兴趣可以耐心观看,希望对大家有所帮助!


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック



