小编mah*_*man的帖子

twitter typeahead ajax结果并未全部显示

我正在使用带有ajax调用的twitter typeahead(typeahead.js 0.11.1)插件,但是当ajax结果的数量小于限制时,会给出一些奇怪的行为(默认限制为5,我没有指定在预先打电话中).这是我如何设置它:

var limit = 6;

populate_typeahead = function() {
    $('.typeahead').typeahead('destroy');
    $('.typeahead').typeahead({
      hint: true,
      highlight: true,
      minLength: 1
    },
    {
      source: ajaxquery,
    });
};

var ajaxquery = function(query, syncresults, process) {
        return $.ajax({
            url: $(this)[0].$el.closest('span.twitter-typeahead').find('input:last').data('mahiFindByPath'),
            type: 'get',
            data: {search_string: query, limit: limit},
            dataType: 'json',
            success: function(json) {
                return typeof json.options == 'undefined' ? false : process(json.options);
            }
        });
    };
Run Code Online (Sandbox Code Playgroud)

导致我出现此问题的实际示例是在输入框中键入"new to",它返回以下json.options:

[
    'new to add to g1',
    'new to be in grp1 then remove from grp',
    'new to drag', …
Run Code Online (Sandbox Code Playgroud)

twitter ajax json typeahead.js

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

React Native Typescript Formik 转换事件类型

在 React Native 的 Formik 文档中,有一个示例表单:

<Formik initialValues={{ email: '' }} onSubmit={(values) => console.log(values)}>
  {({ handleChange, handleBlur, handleSubmit, values }) => (
    <View>
      <TextInput onChangeText={handleChange('email')} onBlur={handleBlur('email')} value={values.email} />
      <Button onPress={handleSubmit} title="Submit" />
    </View>
  )}
</Formik>
Run Code Online (Sandbox Code Playgroud)

然而,这给了我一个打字稿错误:

No overload matches this call.
Overload 1 of 2, '(props: Readonly<ButtonProps>): Button', gave the following error.
  Type '(e?: FormEvent<HTMLFormElement> | undefined) => void' is not assignable to type '(ev: NativeSyntheticEvent<NativeTouchEvent>) => void'.
    Types of parameters 'e' and 'ev' are incompatible.
      Type 'NativeSyntheticEvent<NativeTouchEvent>' is not …
Run Code Online (Sandbox Code Playgroud)

type-conversion typescript reactjs react-native formik

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

Expo EAS 提交,服务帐户密钥存储位置

我正在考虑使用 EAS(世博应用程序服务)向 Google Play 商店提交构建。根据文档,serviceAccountKeyPath需要 a:

https://docs.expo.dev/submit/eas-json/#serviceaccountkeypath

eas submit -p android我已通过运行并在出现提示时输入 JSON 服务帐户密钥的路径成功提交了构建。

由于这是敏感信息,我不希望将其添加到我的 git 存储库中。我应该将其添加到我的 .gitignore 中,还是有更好的方法,例如以某种方式将其存储在我的 expo 帐户中?

google-play-developer-api expo google-play-console

8
推荐指数
2
解决办法
5530
查看次数

离子电容器 Android 12 启动画面:使用位图图像

在以前版本的 Capacitor 中,Android 上的启动屏幕是在splash.png 中指定的图像。我最近升级到了 Capacitor 4,并将目标 SDK 版本更改为 32。据我了解,Android 12 Splash screen API 现在使用您的 App Icon 作为启动屏幕,您可以自定义背景颜色、动画等。

有没有办法使用旧的行为,即将自定义图像显示为启动屏幕?

请注意,我不是 Android 开发人员,仅使用 Ionic/Capacitor 来创建应用程序,谢谢。

更新:我认为目前这是不可能的。看:

Android 12 自定义带有背景图像的启动屏幕

Android 12 闪屏 API 定制

android splash-screen ionic-framework capacitor

6
推荐指数
0
解决办法
2448
查看次数

带有bootstrap下拉菜单的ember cli app会在鼠标释放时立即关闭

我最近才开始使用ember,我想要包含bootstrap.我通过bower添加了bootstrap:bower install --save bootstrap然后将以下内容添加到我的ember-cli-build.js文件中:

app.import('bower_components/bootstrap/dist/css/bootstrap.css');
app.import('bower_components/bootstrap/dist/js/bootstrap.js');
Run Code Online (Sandbox Code Playgroud)

所有这些似乎都有效,但是当我添加一个下拉菜单时,单击菜单会按预期展开,但随后鼠标释放会立即关闭 - 即单击一下就没有任何反应,但如果单击并按住菜单,则会出现一释放按钮就会消失.如果我使用Tab键选项卡到菜单,然后点击向下箭头,也会出现下拉菜单.我怀疑它与jquery有关,因为调试器跳转到jquery.js并且在那里菜单关闭,但我不够精通弄清楚发生了什么......

这是我的bower.json文件:

{
  "name": "ember-mm-phone-app",
  "dependencies": {
    "ember": "1.13.3",
    "ember-cli-shims": "ember-cli/ember-cli-shims#0.0.3",
    "ember-cli-test-loader": "ember-cli-test-loader#0.1.3",
    "ember-data": "1.13.5",
    "ember-load-initializers": "ember-cli/ember-load-initializers#0.1.5",
    "ember-qunit": "0.4.1",
    "ember-qunit-notifications": "0.0.7",
    "ember-resolver": "~0.1.18",
    "jquery": "^1.11.1",
    "loader.js": "ember-cli/loader.js#3.2.0",
    "qunit": "~1.17.1",
    "ember-simple-auth": "0.8.0",
    "bootstrap": "~3.3.5"
  },
  "devDependencies": {
    "ember-localstorage-adapter": "0.5.4"
  }
}
Run Code Online (Sandbox Code Playgroud)

这是下拉菜单:

<li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">
            Account <b class="caret"></b>
          </a>
          <ul class="dropdown-menu">
            <li>{{link-to 'Profile' 'user'}}</li>
            <li>{{link-to 'Settings' 'application'}}</li>
            <li>{{link-to 'Terms and Conditions' 'application'}}</li>
            <li class="divider"></li>
            <li>
              <a {{ action …
Run Code Online (Sandbox Code Playgroud)

javascript jquery twitter-bootstrap ember.js ember-cli

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

基于 has_many 范围计数的 Rails 活动记录范围

我有 Order 模型和一个 Container 模型,其范围如下:

class Order < ActiveRecord::Base
  has_many :containers, inverse_of: :order, dependent: :destroy
end

class Container < ActiveRecord::Base
  scope :full_pickup_ready, -> { where.not(full_pickup_ready_date: nil) }
end
Run Code Online (Sandbox Code Playgroud)

订单模型有一个字段调用quantity,它表示订单所需的容器数量,但不一定是容器关联的大小,因为并非所有容器数据都在创建订单时输入。

我想根据具有 full_pickup_ready_date 的容器的数量是否小于订单的数量字段来确定 Order 模型的范围。

我知道我可以在订单模型上使用合并来访问容器上的范围,如下所示:

def self.at_origin
  joins(:containers).merge(Container.full_pickup_ready).uniq
end
Run Code Online (Sandbox Code Playgroud)

但是如何将范围限制为具有 full_pickup_ready_date 的容器总数小于订单上的数量字段的订单?

更新:这相当接近,但我认为使用select效率不高:

includes(:containers).select {|o| o.containers.full_pickup_ready.size < o.quantity }
Run Code Online (Sandbox Code Playgroud)

scope ruby-on-rails has-many ruby-on-rails-4

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