ユニアプリのロケーション関連のメモを追加/dbSearchFields 配列の各フィールドにクエリ正規表現を適用し、結果を論理 OR (||) 形式で連結します。。

watch は Vue.js のオブザーバー プロパティであり、データの変更を監視し、対応する操作を実行するために使用されます。

「form.title」は、フォーム オブジェクトのタイトル属性の変更をリッスンするリスナーです。

title 属性が変更されるとコールバック関数が実行されますが、この関数には変更前の値を表すパラメータ oldVal があります。console.log(oldVal); は、デバッグと検証に使用できる oldVal の値を出力します。

const users = uniCloud.importObject("global"); 「global」という名前のクラウド関数オブジェクトをインポートします。

const regex = oldVal; oldVal を文字列形式の正規表現として変数 regex に直接保存します。

const dbSearchFields = ['title']; dbSearchFields が検索対象のフィールド配列であり、フィールドのタイトルが 1 つだけ含まれていると仮定します。

const queryRe = { $or: dbSearchFields.map(name => ({ [name]: { $regex: .${regex}., $options: 'i' } })) }; クエリ オブジェクト queryRe を作成し、$ を使用しますor 条件は、複数のフィールドに対するファジー クエリを実装します。

このうち、正規表現は .*${regex}.* で、正規表現の内容がどの位置でも一致することを意味し、$options: 'i' は大文字と小文字を区別しないことを指定します。

users.getDataList("shop", queryRe, "asc", "title") は、getDataList という名前のメソッドを呼び出し、フィルター条件 queryRe に従って "shop" という名前のデータベースをクエリし、タイトル フィールドで昇順に並べ替えます。

.then(res => { console.log(res); }) クエリが成功した場合は、返された結果をコンソールに出力します。

.catch(err => { console.log(err); }) クエリが失敗した場合は、エラー メッセージをコンソールに出力します。

署名者: 蓝斑 <[email protected]>

watch: {
  'form.title'(oldVal) {
    console.log(oldVal);
    const users = uniCloud.importObject("global");
    const regex = oldVal; // 将 oldVal 直接作为字符串形式的正则表达式
    const dbSearchFields = ['title']; // 假设这是你要搜索的字段数组

    const queryRe = { $or: dbSearchFields.map(name => ({ [name]: { $regex: `.*${regex}.*`, $options: 'i' } })) };
    // 在这里执行相关操作
    users.getDataList("shop", queryRe, "asc", "title")
      .then(res => {
        console.log(res);
      })
      .catch(err => {
        console.log(err);
      });
  }
}

おすすめ

転載: blog.csdn.net/m0_73358221/article/details/131768357