小编Héc*_*eón的帖子

React Typescript 钩子错误 - 此表达式不可调用

我有这个问题,因为我将代码从 React Javascript 移动到 React Typescript

我有一个简单的钩子,可以从开/关(或真假)切换状态(下面的代码)我正在努力解决这个问题,因为这段代码正在处理 Javascript

代码在这里进行测试

所以切换功能有一些错误,但无法弄清楚。一些帮助将不胜感激

在此处输入图片说明

// useToggle.tsx
import { useState } from "react";

export const useToggle = (initialMode = false) => {
  const [open, setOpen] = useState(initialMode);
  const toggle = () => setOpen(!open);
  return [open, setOpen, toggle];
};

Run Code Online (Sandbox Code Playgroud)

我的开关组件

// Switch.tsx
import { useToggle } from "./useToggle";

import React from "react";

export const Switch = () => {
  const [open, toggle] = useToggle();
  const [open2, toggle2] = useToggle();
  return (
    <>
      <p>Testing toggle 1: {`${open}`}</p> …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs next.js react-hooks

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

D3.js 4与AngularJS 1.5(组件或指令?)

我想在AngularJS 1.5x中使用D3.js v4

在过去,我使用.directives作为图表,但现在我想知道是否可以使用.components而不是指令,如果这是一个很好的做法.

检查Plunkr上的样品盒

问题出现在d3.select(element[0]).append('svg')内部组件中.控制台抛出错误:未定义元素.

所以我试着用类似的东西d3.select('chart-container').append('svg') 然后d3在第一个拥有该类的元素中注入所有图表(在所有文档中查找类,而不仅仅是组件).


所以...有人可以帮助我为可重用组件做正确的d3.select()吗?

没有为每个添加不同的ID(工作量太大,维护太难)

javascript d3.js angularjs angularjs-components d3.js-v4

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

如何使用 javascript css 或 html attr 禁用 iOS 链接预览

当您在带有 iOS 的 Chrome / Safari 中按住某个链接时,它会显示一个烦人的链接预览,当我有一个可排序的列表项(其中包含完整链接)时,就会出现问题,所以如果您按住拖动(我的if<ul>上存在拖动事件)<li>单击/点按即可转到链接<a>

iOS 问题: 当我按住应该启动拖动事件时,会出现这个恼人的系统模式,阻止所有拖动过程并破坏用户体验。

我尝试过阻止默认操作,拖动开始时元素内的链接没有指针事件,但没有任何内容继续出现

element.sortable.on('drag:start', (e) => {
      e.stopPropagation();
      e.preventDefault();
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决这个问题(js,css或一些html attr?)提前致谢

在此输入图像描述

html javascript dom google-chrome ios

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

AngularJS +1.5父控制器如何将数据传递给组件控制器

我有一个组件,如:

检查Plunkr示例 (更新并使用解决方案:)谢谢)

my-component.js声明

 (function() {
  'use strict';
  angular
    .module('app')
    .component("myComponent", {
      bindings: { obj: "=" },
      controller: "ComponentController",
      controllerAs: "vm",
      template: 
        '<section class="result"><h2>{{vm.title}}</2>' + 
        '<h3>Using the Parent Controller values</h3>' +
        '<ul><li>{{ vm.obj.a }}</li><li>{{vm.obj.b}}</li></ul>' +
        '<h3>Using the Children controller values:'+
        '<ul class="component-controller"><li>{{ vm.copiedObj.a }}</li><li>{{vm.copiedObj.b}}</li></ul>' +
        '</section>'
    });

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

我的组件控制器

 (function() {
  'use strict';
  angular
    .module('app')
    .controller('ComponentController', ComponentController);

  function ComponentController() {
    var vm = this;

    vm.title = "I'm the Children controller"

    vm.copiedObj = vm.obj;   // This should store the myObj variable …
Run Code Online (Sandbox Code Playgroud)

inheritance scope angularjs angularjs-scope

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

ngDialog忽略AngularJS 1.5中表单中的NG属性

我在控制器指令中有这个电话

ngDialog.openConfirm({
        template          : '<form-directive></form-directive>',
        plain             : true,
        closeByNavigation : true,
        scope             : $scope
      })
      .then(function( response ) {
          $log('SENDED');
  });
Run Code Online (Sandbox Code Playgroud)

零件

ngDialog.openConfirm({
        template          : '<form-component></form-component>',
        plain             : true,
        closeByNavigation : true,
        scope             : $scope
      })
      .then(function( response ) {
          $log('SENDED');
      });
Run Code Online (Sandbox Code Playgroud)

两者的HTML

<form ng-submit="alert("Hello !!!")">
   <button type="submit">Send</button>
</form>
Run Code Online (Sandbox Code Playgroud)

当我单击Button on指令时,我在控制台上看到SENDED消息,但是对于组件看起来像忽略每个NG属性,点击按钮什么都不做,但正确加载模板.

相同的模板,相同的一切,完全相同,所以也许是一个ngDialog类组件的错误吗?

我只是希望ng-attributes在里面工作,如果我点击按钮提交然后关闭对话框并获得promise日志消息

检查Plunkr示例

如果我使用范围,指令也会失败:其中的{obj:'='}属性组件忽略了所有内容.

我认为是Scopes的某种问题 - 指令中的范围声明(或组件中的绑定) - 以及openDialog对象中的范围

javascript angularjs angularjs-scope ng-dialog angular-controller

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

Rails t.text_field表示浮点值

一个愚蠢的问题

如何在表单字段中放入一个浮点值(如金额)因为如果我添加 t.number_field 我不能得到浮点数,只有整数,我想把44.67作为例子.

forms ruby-on-rails

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