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);
});
}
}