小编Tho*_*mas的帖子

使用Ionic 2将焦点设置在输入上

解决了 :

import { Component, ViewChild} from '@angular/core';
import { Keyboard } from 'ionic-native';


@Component({
  templateUrl: 'build/pages/home/home.html'
})
export class HomePage {
  @ViewChild('input') myInput ;

  constructor() {}

  ionViewDidLoad() {

    setTimeout(() => {
      Keyboard.show() // for android
      this.myInput.setFocus();
    },150);

 }

} 
Run Code Online (Sandbox Code Playgroud)

1)导入"ViewChild"

import {Component, ViewChild} from '@angular/core';

2)在html模板中创建对输入的引用:

<ion-input #focusInput></ion-input>
Run Code Online (Sandbox Code Playgroud)

3)使用@ViewChild访问您刚才引用的输入组件.

@ViewChild('focusInput') myInput ;

4)触发焦点

每次加载视图/页面时,使用ionViewLoaded()方法触发它.

需要setTimeout

  ionViewLoaded() {

    setTimeout(() => {
      Keyboard.show() // for android
      this.myInput.setFocus();
    },150); //a least 150ms.

 }
Run Code Online (Sandbox Code Playgroud)

4)在Android上显示键盘

import { Keyboard } from 'ionic-native';

调用Keyboard.show()在Android上调用键盘.

5)在iOS上显示键盘 …

focus input setfocus autofocus ionic2

45
推荐指数
4
解决办法
4万
查看次数

如何使用Firestore获取Cloud Functions for Firebase中的服务器时间戳?

如何在不使用实时数据库但使用Firestore的情况下获取服务器时间戳?

import * as functions from 'firebase-functions'
import { Firestore } from '@google-cloud/firestore'

const db = new Firestore()

export let testIfMatch = functions.firestore
        .document('users/{userId}/invites/{invitedUid}')
        .onCreate(event => {
            let invite = <any>event.data.data()

            if (invite.accepted == true) {
              return db.collection('matches').add({
                friends: [userId, invitedUid],
                timestamp: doc.readTime // <--- not exactly the actual time
              })
            }
Run Code Online (Sandbox Code Playgroud)

javascript firebase google-cloud-functions google-cloud-firestore

14
推荐指数
2
解决办法
7142
查看次数

Vue.js - 从保持活动状态销毁缓存的组件

我的 vue 应用程序有一个动态标签机制。

用户可以根据需要随时创建任意数量的标签,每个标签都有自己的状态(例如“页面”)。

我正在使用该<keep-alive>组件来缓存不同的页面。

<keep-alive include="page">
  <router-view :key="$route.params.id" />
</keep-alive>
Run Code Online (Sandbox Code Playgroud)

但用户也可以“关闭”单个选项卡。由于页面往往存储大量数据,当用户关闭选项卡时,我想从缓存中删除相应的页面组件。

如何以编程方式销毁 keep-alive 中的缓存组件?

vue.js

12
推荐指数
1
解决办法
5632
查看次数

Docker 和带有 .npmrc 的私有包

我正在使用一个.npmrc文件来配置一个私有仓库 (font-awesome-pro)。

它在没有 docker 的情况下运行良好。

但是对于 docker,npm install失败了:

npm ERR! code E401
npm ERR! 404 401 Unauthorized: @fortawesome/fontawesome-pro-light@https://npm.fontawesome.com/7D46BEC2-1565-40B5-B5FC-D40C724E60C6/@fortawesome/fontawesome-pro-light/-/fontawesome-pro-light-5.0.12.tgz
Run Code Online (Sandbox Code Playgroud)

我已经阅读了 NPM 的文档:Docker 和私有包,但我不知道如何应用它,docker-compose.yml我不确定传递变量是解决方案(?)。是否有可能.npmrc在 docker 实例中安装期间未读取该文件?我错过了什么吗?

这是我的docker-compose.yaml

npm ERR! code E401
npm ERR! 404 401 Unauthorized: @fortawesome/fontawesome-pro-light@https://npm.fontawesome.com/7D46BEC2-1565-40B5-B5FC-D40C724E60C6/@fortawesome/fontawesome-pro-light/-/fontawesome-pro-light-5.0.12.tgz
Run Code Online (Sandbox Code Playgroud)

和我的.npmrc(用替换的令牌):

@fortawesome:registry=https://npm.fontawesome.com/
//npm.fontawesome.com/:_authToken=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX
Run Code Online (Sandbox Code Playgroud)

npm font-awesome docker docker-compose

6
推荐指数
2
解决办法
8299
查看次数

如何自动调整“自动组列”的大小?

如何自动调整所有列的大小,包括自动分组列

以下代码仅调整标准列的大小,而不是自动组列的大小,因为this.gridColumnApi.getAllColumns()不返回自动组列:

autoSizeAllColumns() {
  const allColumnIds = this.gridColumnApi.getAllColumns().map(c => c.colId)
  this.gridColumnApi.autoSizeColumns(allColumnIds)
},
Run Code Online (Sandbox Code Playgroud)

ag-grid

5
推荐指数
1
解决办法
2297
查看次数

使用 Ag-Grid 刷新动态标题名称

我有一个“选择”列,我想在标题名称中包含当前选定行的总数。

我正在使用,headerValueGetter但在选择新行时不会刷新该值。

// in my colDef
headerValueGetter: params => `(${this.totalSelected})`

// methods
onSelectionChanged(event) {
  this.totalSelected = event.api.getSelectedNodes().length
},
Run Code Online (Sandbox Code Playgroud)

totalSelected 是我的 Vue 组件的一个属性,它的值在选择新行时更新。

任何想法如何做到这一点?

在此处输入图片说明

vue.js ag-grid

3
推荐指数
1
解决办法
3865
查看次数

Vuex - 绑定助手中的动态命名空间(mapState,...)

我正在动态注册 vuex 商店模块

store.registerModule('home.grid', GridStore)

然后在组件中:

export default {
name: 'GridComponent',

props: {
  namespace: {
    type: String,
    required: true
  },

 computed: {
    ...mapState(this.namespace, ['filter']) // doesn't work
    filter() { // more verbose but working
      return this.$store.state[this.namespace].filter
    }
 }
 ...
Run Code Online (Sandbox Code Playgroud)

但我得到了错误:

无法读取未定义的属性“命名空间”

任何的想法 ?

问题最初是从“gabaum10”这里提出的https://forum.vuejs.org/t/vuex-dynamic-namespaces-in-mapstate-mapactions/28508

vuex

1
推荐指数
1
解决办法
2386
查看次数