我想知道如何为 Capacitor 中的登录表单启用自动完成功能(或者如果可能的话)。我正在使用离子反应。如果在 iOS 上的 Safari 中访问页面,即使您将其固定到主屏幕,它也可以工作。但是,如果您将 Web 应用程序捆绑在 Capacitor 中,则自动完成功能不存在。这是登录表单的代码:
<form onSubmit={e => loginAndCloseModal({e, emailValue, passwordValue})}>
<IonList>
<IonItem>
<IonLabel position="stacked">Email</IonLabel>
<IonInput autocomplete="username" name="email" value={emailValue} onIonChange={e => setEmail(e.target.value)}></IonInput>
</IonItem>
<IonItem>
<IonLabel position="stacked">Password</IonLabel>
<IonInput autocomplete="current-password" name="password" type="password" value={passwordValue} onIonChange={e => setPassword(e.target.value)}></IonInput>
</IonItem>
{ errorMessage &&
<IonItem>
<IonNote color="danger">{errorMessage}</IonNote>
</IonItem> }
</IonList>
<IonButton class="login-button" expand="block" type="submit" disabled={authLoading}>Login</IonButton>
</form>
Run Code Online (Sandbox Code Playgroud)
我也试过设置autocomplete="on",没用。Apple 的文档建议使用上面发布的值:https : //developer.apple.com/documentation/security/password_autofill/enabling_password_autofill_on_an_html_input_element
这是网络上登录页面的屏幕截图:
这是 Capacitor 中登录表单的一个版本:
请注意键盘上方的密码选项消失了。这是为什么?
这是我的项目的相关依赖项:
"@capacitor/cli": "^1.2.1",
"@capacitor/core": "^1.2.1",
"@capacitor/ios": "^1.2.1",
"@ionic/react": "^4.11.2",
"@ionic/react-router": "^4.11.2",
"react": …Run Code Online (Sandbox Code Playgroud) 我试图在mongo中拖尾oplog并得到超时错误.oplog集合中包含超过7百万个文档.但是,作为最后的努力,我添加了oplogReplay: true游标选项的选项,超时错误消失了,我正在读取oplog流.
该的NodeJS蒙戈文档是相当神秘的什么这个选项实际上做,只知道它是为tailable光标这就是为什么我在看着它:
oplogReplay {Boolean},设置一个内部标志,仅适用于tailable游标.
我的猜测是它要么跳过整个oplog的初始扫描并直到最后,要么从oplog的另一端扫描.
我的代码看起来像这样:
const tstamp = new MongoDB.Timestamp(0, Math.floor(new Date().getTime() / 1000));
const filters = {
ts: { $gt: tstamp }
};
const curOpts = {
tailable: true,
timeout: false,
oplogReplay: true, //<- What does this actually do?
awaitData: true,
numberOfRetries: 60 * 60 * 24,
tailableRetryInterval: 1000
};
mongodb.connect(url).then(db => {
const cur = db.collection('oplog.rs').find(filters, curOpts);
const stream = cur.stream();
stream
.on('data', log => {
console.log('Data!')
console.log(log)
})
.on('close', () => …Run Code Online (Sandbox Code Playgroud) 说我有两张桌子,人和帖子.人们在其中有id,first_name和last_name.posts表有id,title,body和person_id.帖子属于人和人有很多帖子.然后我烘烤架构.添加帖子的默认表单将有一个选择框,用于从数据库中的人员列表中选择拥有该帖子的人员.但是,只有该人的名字出现在帖子中.您如何获得在该选择框中显示的名字和姓氏?
人物型号:
class Person extends AppModel {
public $displayField = 'first_name';
public $hasMany = array( 'Post' );
...
Run Code Online (Sandbox Code Playgroud)
添加的帖子控制器将包括:
$people = $this->Post->Person->find('list');
$this->set(compact('people'));
Run Code Online (Sandbox Code Playgroud)
Post视图将具有以下内容:
echo $this->Form->input('person_id');
Run Code Online (Sandbox Code Playgroud)
视图将自动检测关联并填充选择框,但是我需要做什么才能在选择中显示first_name和last_name?
(这也适用于其他情况,您希望在选择框中显示多个数据库列,但我选择此作为示例,因为它使问题更容易提问.)
cakephp ×1
cakephp-2.4 ×1
capacitor ×1
ionic4 ×1
javascript ×1
mongodb ×1
node.js ×1
reactjs ×1