小编The*_*ris的帖子

bootstrap-select with custom buttons&动态添加新值

在此输入图像描述我需要使用可以执行该功能的下拉列表:

  1. 动态地从数据库中提取和加载值
  2. 有一个嵌入式搜索框
  3. 每个Li上有2个自定义按钮,一个用于删除,一个用于编辑.
  4. 搜索字段,如果搜索到的文本不存在,则在"输入"按下,在同一选择上添加,也可以在Ajax数据库上添加.

我从silviomoreto git存储库中选择了@twitter bootstrap'bootstrap-select'的自定义选择,因为我没有找到我想要的功能,我试图自己制作它.

因此,对于那些需要或想要在他们的网络应用程序上添加该功能的人,我写下我的解决方案,这不是最好的解决方案,但它有效,我愿意接受任何建议,使其更好地工作.

1.步骤:创建一个带参数的selectpicker: data-size ="5"(显示5个值和添加滚动条),data-live-search ="true"(在顶部添加搜索框) 并加载值我从db(最好是ajax)获得:

       <select class="selectpicker typedropdown" data-size="5" data-live-search="true">
                            <?php
                            $counter=0;
                            foreach($eventTypeList as $evType){
                                $counter++;
                                if(is_array($evType)){
                                    echo "<option>".$evType['type_name']."</option>";
                                }else{
                                    echo "<option>".$evType."</option>";
                                }

                            } ?>
                        </select>
Run Code Online (Sandbox Code Playgroud)

2.步骤:添加自定义按钮(编辑,删除) (覆盖原型函数'createLi')

覆盖主js文件上的原型函数'createLi',如下所示:

  $.fn.selectpicker.Constructor.prototype.createLi = function (){..}
Run Code Online (Sandbox Code Playgroud)

内部:

var generateLI = function (content, index, classes, optgroup) {
        return '<li' + ........
Run Code Online (Sandbox Code Playgroud)

在'return'之前添加两行按钮类:

content += "<div class='removeTypebtn'></div><div class='editTypebtn'></div>";
Run Code Online (Sandbox Code Playgroud)

这样,当您创建li项目时,您还会在每行上创建两个自定义按钮.

3. step:捕获'click'事件进行编辑和删除值 (也在数据库上发出ajax请求以更新dbtable)

$(document.body).on('click','.btn-group.typedropdown .dropdown-menu ul li .removeTypebtn',function(event){
        var index = $(event.target).closest( "li" ).data('original-index');//get the item index …
Run Code Online (Sandbox Code Playgroud)

ajax jquery dropdownbox dom-events twitter-bootstrap-3

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

更改ui-router状态时的angularjs infdig错误(带视频)

新编辑: 检查登录的authservice:

'use strict';

angular.module('MainApp.login.services', [])
    .factory('authService', ['AUTH_ENDPOINT', 'LOGOUT_ENDPOINT', '$http', '$cookieStore', function (AUTH_ENDPOINT, LOGOUT_ENDPOINT, $http, $cookieStore) {
        var auth = {};
        auth.login = function (username, password) {
            return $http.post(AUTH_ENDPOINT, {username: username, password: password})
                .then(function (response, status) {
                    auth.user = response.data;
                    $cookieStore.put('user', auth.user);
                    return auth.user;
                });
        };
        auth.logout = function () {
            return $http.post(LOGOUT_ENDPOINT).then(function (response) {
                auth.user = undefined;
                $cookieStore.remove('user');
                $cookieStore.remove('event');
            });
        };
        return auth;
    }])
    .value('AUTH_ENDPOINT', 'http://www.mydomain.gr/assets/modules/login/dal/login.php')
    .value('LOGOUT_ENDPOINT', 'http://www.mydomain.gr/assets/modules/login/dal/logout.php');  
Run Code Online (Sandbox Code Playgroud)

更新:
不幸的是,这是整个网络应用程序的一部分,所以我无法将其上传到jsfiddle.我制作了一个YouTube视频,我在调试应用程序时显示错误.从分钟1:30开始问题.随意检查
下面的视频是我的角度应用程序 的app.js.

我对模板中的$ watch是否可以创建错误?

Youtube在1:30之后启动错误:https …

html javascript angularjs angularjs-scope angular-ui-router

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

如何在 Typescript 中处理 eventListeners 上的“Event”类型和“CustomEvent”类型

我正在我的应用程序中调度一个CustomEvent带有detail属性的属性,然后我使用事件监听器将其抓取到另一个应用程序中。

我正在努力使用打字稿以使其顺利工作,但无论我到目前为止尝试过什么,我都遇到了障碍。

所以事件监听器就像这样(所有事情都发生在反应全局组件中):

window.addEventListener('my-custom-event', this.callEvent);
Run Code Online (Sandbox Code Playgroud)

再往下,我有callEvent这样的方法:

  callEvent: any = (e: CustomEvent) => {
const {
  detail,
} = e;

.......
}
Run Code Online (Sandbox Code Playgroud)

any当我尝试将函数的类型更改为有意义的类型时,会发生所有长错误“Typescript”消息callEvent,例如:

版本1:

callEvent: (e: CustomEvent) => void = (e: CustomEvent) => {...}
Run Code Online (Sandbox Code Playgroud)

版本 2: .

callEvent(e: CustomEvent) {
const {
  detail,
} = e;

.....
}
Run Code Online (Sandbox Code Playgroud)

分辨率:

No overload matches this call.
Overload 1 of 2, '(type: keyof WindowEventMap, listener: (this: Window, ev: Event …
Run Code Online (Sandbox Code Playgroud)

javascript events typescript reactjs

9
推荐指数
2
解决办法
5874
查看次数

如何修复 Visual Studio 代码上的 ctrl+f

Visual Studio Code 最近更改了搜索功能,或者仅在我的编辑器中。

以前,当我按Ctrl+时F,我可以在整个打开的文档中进行搜索。

但最近,当我按Ctrl+F进行搜索时,它会自动启用,右侧最后一个选项,**Find in selection(Alt+L)**.

由于我没有任何活动选择,因此它找不到任何内容,并且我每次都需要禁用该选项,以便搜索所有文档。

我附上屏幕截图以供澄清。 在此输入图像描述

我可以默认禁用该选项吗?提前致谢。

editor visual-studio-code

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

如果使用多个导入而不是一个命名导入,是否会产生性能成本

我想知道如果我们进行多次导入是否会产生性能成本,如下所示:

import { wrapper } from './components/wrapper';
import { error } from './components/error';
import { products } from './components/products';
Run Code Online (Sandbox Code Playgroud)

在每个组件文件夹中,我都有一个 index.js 并将其导出为命名的,如下所示:

export { default as wrapper } from '.wrapper';
Run Code Online (Sandbox Code Playgroud)

相比:

将所有文件作为命名导入从同一源导入,如下所示:

import {
   wrapper,
   error,
   products,
 } from './components';
Run Code Online (Sandbox Code Playgroud)

components文件夹中,我有一个索引,我在其中收集并导出所有文件,如下所示:

export { wrapper } from '...';
export { error } from '...';
export { products } from '...';
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs

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

如何在 React + TypeScript 中条件渲染组件

更新

也许解决方案在于我声明组件的方式:

import React, { FunctionComponent } from 'react';

export const ChapterDescription: FunctionComponent<
    ChapterDescription
   > = (
   {
    description,
    name,
   }: ChapterDescription,
   ) => (
   <div>
     <h3>{name}</h3>
     <p>{description}</p>
   </div>
 );
Run Code Online (Sandbox Code Playgroud)

当我仅用于reactjs我的组件时,我可以轻松地有条件地渲染组件,如下所示(检查chapters数组是否有项目,然后渲染组件):

<OtherComponent/>    
    <div>
        {chapters.length > 0 && <ChapterDescription
            name={name}
            description={description}
        />}
    </div>
<OtherComponent2 />
Run Code Online (Sandbox Code Playgroud)

当我在打字稿中尝试时,出现错误:

Type 'false | Element' is not assignable to type 'Element'.
  Type 'false' is not assignable to type 'Element'.ts(2322)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

条件渲染不再是不好的做法了吗?我该如何处理这个案子?

javascript typescript ecmascript-6 reactjs

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

如何在 cypress 测试中避免 cy.wait()

我试图wait()在测试中避免使用该功能。

我知道,根据官方文档,Cypress 是异步工作的,我们不需要使用该wait()函数,特别是visit()命令处理该函数,因为它加载页面然后继续前进。

在我的测试用例中,我想处理导致问题的两件事:

  1. 打开左侧导航菜单上的下拉菜单。有 5 个菜单,我想要第二个

  2. 单击一个选项转到另一个页面

it("clicks on the 'Front End' and navigates to the correct page", () => {
  visit(path, {
    timeout: 120000,
    pageLoadTimeout: 120000,
  });

  cy.get(selectors.CATEGORIES)
    .eq(2)
    // I use 'within', because I want to search **inside the 
    // selectors.CATEGORIES.eq(2) and not on the whole DOM**
    .within(() => {
      cy.get(dataCySelector("gridRow")).then(($optionsWrapper) => {
        const parentEl = $optionsWrapper.parent();
        const isMenuOpen = parentEl.css("display");

        // if i dont add the wait(), it selects the …
Run Code Online (Sandbox Code Playgroud)

javascript cypress cypress-conditional-testing

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